diff --git a/.clineignore b/.clineignore new file mode 100644 index 0000000..00cd6d2 --- /dev/null +++ b/.clineignore @@ -0,0 +1,79 @@ +# =========================== +# DEPENDENCIES +# =========================== +node_modules/ +**/node_modules/ +.pnp +.pnp.js +bower_components/ + +# =========================== +# BUILD & COMPILED OUTPUT +# =========================== +dist/ +build/ +out/ +.next/ +.nuxt/ +.output/ +.svelte-kit/ +target/ +bin/ +obj/ + +# =========================== +# JS / TS CACHES +# =========================== +.cache/ +.parcel-cache/ +.turbo/ +.eslintcache +*.tsbuildinfo +tsconfig.tsbuildinfo +.webpack/ + +# =========================== +# TEST & COVERAGE +# =========================== +coverage/ +.nyc_output/ +test-results/ +playwright-report/ + +# =========================== +# ENVIRONMENT & SECRETS +# =========================== +*.pem +*.key +secrets/ + +# =========================== +# LARGE / BINARY FILES +# =========================== +*.csv +*.xlsx +*.sqlite +*.db +*.sql +*.zip +*.tar.gz +*.gif +*.mp4 +*.mp3 +*.pdf + +# =========================== +# IDE & OS FILES +# =========================== +.idea/ +.vscode/ +*.DS_Store +Thumbs.db + +# =========================== +# LOGS +# =========================== +*.log +logs/ +npm-debug.log* +yarn-debug.log* \ No newline at end of file diff --git a/.clinerules/context-management.md b/.clinerules/context-management.md new file mode 100644 index 0000000..8a4c395 --- /dev/null +++ b/.clinerules/context-management.md @@ -0,0 +1,33 @@ +# Context & Token Management Rules + +## File Access — Read Only What's Needed +- NEVER load or scan the entire project at the start of a task +- Only read files that are directly relevant to the current request +- If you need to understand the project structure, use `list_files` on specific + subdirectories — do NOT recurse the whole repo +- If you've already read a file in this session, do NOT read it again — use + your memory of it + +## Thinking — Stay Focused, Don't Over-Plan +- Do not brainstorm more than 3 approaches before picking one +- Do not re-analyze a problem you already analyzed earlier in the session +- If a task is simple (under 5 steps), start doing it — don't write a plan first +- Maximum 2 rounds of self-correction before asking the user for help +- If you are stuck, STOP and ask — do not keep retrying and do not say it's okay and move on + +## Context Window — Proactive Handoff +- Monitor context window usage (visible in environment_details) +- If context usage exceeds 40%, warn the user: "Context is at X%, consider + starting a new task soon" +- If context usage exceeds 60%, STOP the current task and use the `new_task` + tool to propose a clean handoff with a summary of: + - What was accomplished + - What files were changed + - What the next step is +- Never let the context exceed 70% — performance degrades past that point + +## Response Style — Be Concise +- Do not repeat what you just did at the end of each step +- Do not summarize the whole conversation when answering a short question +- Status updates should be one sentence max +- Do not explain what you're about to do AND then do it — just do it diff --git a/.clinerules/shell.md b/.clinerules/shell.md new file mode 100644 index 0000000..f9216e6 --- /dev/null +++ b/.clinerules/shell.md @@ -0,0 +1,10 @@ +# Shell & OS Rules + +- Always use bash/sh syntax for terminal commands, never PowerShell +- Use `cp` instead of `Copy-Item` +- Use `mv` instead of `Move-Item` +- Use `rm` instead of `Remove-Item` +- Use `mkdir -p` instead of `New-Item -ItemType Directory` +- Use `cat` instead of `Get-Content` +- Use forward slashes `/` in paths, never backslashes `\` +- Do not use `$env:` for environment variables, use `$VAR` syntax \ No newline at end of file diff --git a/.clinerules/workflow.md b/.clinerules/workflow.md new file mode 100644 index 0000000..c92217a --- /dev/null +++ b/.clinerules/workflow.md @@ -0,0 +1,16 @@ +# Workflow Rules + +## Before starting any task +- State the OS/shell assumption explicitly at the start +- List the steps you plan to take before doing anything +- Ask for confirmation if the task involves more than 3 files + +## During the task +- Work in small steps; complete and verify one step before moving to the next +- If a command fails, explain why before retrying — do not blindly retry +- Prefer simple, portable commands over complex one-liners + +## To save tokens +- Do not re-explain what you already did in previous steps +- Do not repeat file contents unless I ask +- Be concise in status updates \ No newline at end of file