Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 `<!-- AUTO:tree -->` and `<!-- AUTO:modules -->` 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.

---

Expand Down
4 changes: 2 additions & 2 deletions tests/evals/setup-eval-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down
Loading