diff --git a/CLAUDE.md b/CLAUDE.md index d136540..a0b604c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -199,6 +199,7 @@ Before merging: - **Setup has two code paths**: Node/TS uses the "fast path" (scripts do the work). All other stacks use the "adaptive path" (Claude creates files). The eval uses `conversation_must_not_mention` to catch cross-contamination (e.g., Python setup mentioning npm). - **Squash merges leave branches dirty**: After squash-merging a PR, the branch still shows unmerged commits. Always create a fresh branch from main for follow-up work — don't reuse the old branch. - **CLAUDE.md auto-updates on commit**: The pre-commit hook runs `repo-generate-docs.js` to regenerate AUTO markers. Don't manually edit content between `` and `` markers — it will be overwritten. +- **Eval prompts must say "in the current directory"**: `init-project.js --name=X` creates a subdirectory. Eval fixtures run in temp dirs, so the grader checks the temp dir root. If the prompt says "call it myapp", Claude creates `myapp/` and the grader finds nothing. --- diff --git a/tests/evals/setup-eval-config.json b/tests/evals/setup-eval-config.json index f6701ec..14105c0 100644 --- a/tests/evals/setup-eval-config.json +++ b/tests/evals/setup-eval-config.json @@ -11,7 +11,7 @@ "name": "setup-bare", "fixture": "fixtures/setup-bare", "description": "Empty directory — tests the full greenfield Node/TS Express setup path including project scaffolding, enforcement scripts, hooks, and documentation.", - "prompt": "Run /setup on this project. Here are my answers to your Socratic questions: I am building a REST API. Use Node.js with TypeScript and Express as the framework. Call the project myapp. Please proceed with the full setup without asking me further questions — use those answers directly. IMPORTANT: Skip npm install and dependency installation — just create the files and configs. For verification (Phase 6), skip the linter check since dependencies are not installed.", + "prompt": "Run /setup on this project IN THE CURRENT DIRECTORY — do not create a subdirectory. Here are my answers to your Socratic questions: I am building a REST API. Use Node.js with TypeScript and Express as the framework. The project name is myapp but set it up in this directory, not in a myapp/ subdirectory. Please proceed with the full setup without asking me further questions — use those answers directly. IMPORTANT: Skip npm install and dependency installation — just create the files and configs. For verification (Phase 6), skip the linter check since dependencies are not installed.", "expected": { "files_must_exist": [ "package.json", @@ -101,7 +101,7 @@ "name": "setup-python", "fixture": "fixtures/setup-python", "description": "Empty directory — tests the adaptive path for Python/FastAPI. Claude creates pyproject.toml, enforcement scripts, hooks, and documentation without using the Node fast-path scripts.", - "prompt": "Run /setup on this project. Here are my answers to your Socratic questions: I am building a REST API. Use Python with FastAPI as the framework. Call the project myapi. Please proceed with the full setup without asking me further questions — use those answers directly. IMPORTANT: Skip pip install and dependency installation — just create the files and configs. For verification (Phase 6), skip the linter check since dependencies are not installed.", + "prompt": "Run /setup on this project IN THE CURRENT DIRECTORY — do not create a subdirectory. Here are my answers to your Socratic questions: I am building a REST API. Use Python with FastAPI as the framework. The project name is myapi but set it up in this directory, not in a myapi/ subdirectory. Please proceed with the full setup without asking me further questions — use those answers directly. IMPORTANT: Skip pip install and dependency installation — just create the files and configs. For verification (Phase 6), skip the linter check since dependencies are not installed.", "expected": { "files_must_exist": [ "CLAUDE.md",