|
name: Local AI Assistant |
|
version: 1.1.0 |
|
schema: v1 |
|
models: |
|
- name: Qwen 2.5 Coder 32b |
|
provider: ollama |
|
model: qwen2.5-coder:32b |
|
roles: |
|
- chat |
|
- edit |
|
- apply |
|
- name: Qwen 2.5 Coder 7b |
|
provider: ollama |
|
model: qwen2.5-coder:7b |
|
roles: |
|
- autocomplete |
|
- name: Nomic Embed |
|
provider: ollama |
|
model: nomic-embed-text:latest |
|
roles: |
|
- embed |
|
- name: My Voyage Reranker |
|
provider: voyage |
|
apiKey: CHANGE_ME # https://docs.voyageai.com/docs/api-key-and-installation |
|
model: rerank-2 |
|
roles: |
|
- rerank |
|
- name: Autodetect |
|
provider: ollama |
|
model: AUTODETECT |
|
context: |
|
- provider: code |
|
- provider: codebase |
|
- provider: currentFile |
|
- provider: diff |
|
- provider: docs |
|
- provider: folder |
|
- provider: open |
|
- provider: problems |
|
- provider: terminal |
|
- provider: tree |
|
docs: |
|
- name: Algolia |
|
startUrl: https://www.algolia.com/doc/guides/building-search-ui/installation/react/ |
|
- name: Drizzle ORM |
|
startUrl: https://orm.drizzle.team/docs/get-started-postgresql |
|
- name: Hygraph |
|
startUrl: https://hygraph.com/docs/implementations/next/next |
|
- name: NestJS |
|
startUrl: https://docs.nestjs.com/ |
|
- name: Next.js |
|
startUrl: https://nextjs.org/docs/app |
|
- name: PostgreSQL |
|
startUrl: https://www.postgresql.org/docs/ |
|
- name: PostHog |
|
startUrl: https://posthog.com/docs/libraries/next-js |
|
- name: Shadcn/UI |
|
startUrl: https://ui.shadcn.com/docs |
|
- name: Supabase |
|
startUrl: https://supabase.com/docs |
|
- name: Tailwind CSS |
|
startUrl: https://tailwindcss.com/docs/styling-with-utility-classes |
|
- name: Temporal |
|
startUrl: https://docs.temporal.io/ |
|
- name: Trigger.dev |
|
startUrl: https://trigger.dev/docs/introduction |
|
- name: Vercel |
|
startUrl: https://vercel.com/docs |
|
- name: Zustand |
|
startUrl: https://zustand.docs.pmnd.rs/guides/nextjs |
|
rules: |
|
- name: Reference Project Specs (if present) |
|
alwaysApply: true |
|
description: Use project-specs.md in the project root (if it exists) as the authoritative source for project details. |
|
rule: | |
|
- Before performing any task, check for `project-specs.md` at the project root: |
|
- If found, review and fully understand its content before continuing. |
|
- If not found at the root, proceed without referencing it—do not search elsewhere. |
|
- Whenever you introduce or change details such as naming conventions, folder structures, dependencies, technologies, or architectural conventions: |
|
- Immediately update `project-specs.md` if it exists. |
|
- Never create `project-specs.md` if it's missing; proceed without it unless explicitly instructed otherwise. |
|
- name: Restrict File Access to Project Directory |
|
alwaysApply: true |
|
description: Prevent file operations outside the current working directory. |
|
rule: | |
|
- Perform file operations strictly within the project directory. |
|
- Never traverse to parent (`../`) or sibling directories. |
|
- name: Git Operation Restrictions |
|
alwaysApply: true |
|
description: Prevent unintended repository changes. |
|
rule: | |
|
- Prohibit `git` commands altering repository state (e.g., commit, push, clone). |
|
- Allow only `git status` and `git diff`, after explicit user confirmation. |
|
- name: Clarify Before Proceeding |
|
alwaysApply: true |
|
description: Require clarification from the user if unclear. |
|
rule: | |
|
- Halt and request explicit clarification if task details are unclear. |
|
- name: Always Create External Plan File |
|
alwaysApply: true |
|
description: For every task—whether one step or many—write a persistent .ai-context/plan.todo.md file as the external source of truth for what the agent is doing. |
|
rule: | |
|
- For every task (regardless of complexity or number of steps), immediately write a Markdown checklist to `.ai-context/plan.todo.md`. |
|
- Use `- [ ]` syntax for each step. |
|
- Even if there is only one step, that step must still be written to this file. |
|
- Each checklist item must describe a real, executable action (e.g., “convert schema to markdown”, “generate blueprint file”). |
|
- **Do not** include any of the following in the checklist: |
|
- Writing `.ai-context/plan.todo.md` |
|
- Writing `.ai-context/context.json` |
|
- Asking for user confirmation |
|
- If `.ai-context/plan.todo.md` already exists: |
|
- Archive the existing plan file to `.ai-context/archive/plan_YYYY-MM-DD-HHmm.md` using UTC timestamp. |
|
- Do not overwrite the file unless the user explicitly says to do so. |
|
- Immediately after writing the new checklist: |
|
- Confirm in chat that `.ai-context/plan.todo.md` was created |
|
- Show a summary of the checklist steps |
|
- Then, create or update `.ai-context/context.json` with: |
|
```json |
|
{ |
|
"taskName": "<short description of the current task>", |
|
"planPath": ".ai-context/plan.todo.md", |
|
"currentStepIndex": 0, |
|
"executionMode": "autonomous", |
|
"tempFiles": [], |
|
"createdAt": "<timestamp>" |
|
} |
|
``` |
|
- These files must always exist before executing any steps. |
|
- They define what the AI is doing and where it is in the process. Always refer to them, and always update them. |
|
- name: Persistent Task Context |
|
alwaysApply: true |
|
description: Persist task state using `.ai-context/context.json`. |
|
rule: | |
|
- Maintain and update `.ai-context/context.json` to track task progress and metadata. |
|
- Update after each completed step. |
|
- name: Step-by-Step Task Execution |
|
alwaysApply: true |
|
description: Execute planned steps explicitly and track progress. |
|
rule: | |
|
- Execute approved steps sequentially. |
|
- Mark completion clearly in the checklist (`- [x]`). |
|
- Stop execution if blocked or clarification is needed. |
|
- name: Autonomous & Manual Mode Switching |
|
alwaysApply: true |
|
description: Allow dynamic execution mode switching based on user input. |
|
rule: | |
|
- Default to autonomous mode unless user specifies manual. |
|
- Respect execution mode in context metadata. |
|
- name: Minimal Code & Dependency Changes |
|
alwaysApply: true |
|
description: Focus edits and avoid introducing unnecessary dependencies. |
|
rule: | |
|
- Edit only explicitly requested files or code areas. |
|
- No new dependencies or config changes without explicit approval. |
|
- name: Code Standards & Formatting |
|
globs: ["**/*.{ts,tsx,js,jsx}"] |
|
alwaysApply: true |
|
description: Enforce Airbnb ESLint config and Prettier formatting. |
|
rule: | |
|
- Follow established naming and formatting conventions. |
|
- Ensure lint and build pass after modifications. |
|
- name: Internationalization (i18n) Enforcement |
|
globs: ["app/**/*.{ts,tsx}"] |
|
alwaysApply: true |
|
description: Prevent hard-coded strings when using `next-international`. |
|
rule: | |
|
- Wrap all user-facing text using `t('key')`. |
|
- Ensure localization keys exist. |
|
- name: Documentation and Comments |
|
alwaysApply: true |
|
description: Follow established project documentation conventions. |
|
rule: | |
|
- Document public functions/classes using JSDoc or existing project standards. |
|
- name: Safe Cleanup After Task Completion |
|
alwaysApply: true |
|
description: Clean temporary artifacts and archive completed plans. |
|
rule: | |
|
- Archive completed plans to `.ai-context/archive/`. |
|
- Delete temporary files only post-task completion. |
|
- name: Conflict Resolution and Safety Priority |
|
alwaysApply: true |
|
description: Clearly prioritize rules to resolve conflicts. |
|
rule: | |
|
- Prioritize safety, then clarity, task continuity, and efficiency in that order. |
|
- Request user confirmation in uncertain scenarios. |
|
|