You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: correct doc-code inconsistencies found by cross-reference review
Check 1 (Absolute Claims):
- Scoped "all other code" to "programmatic consumers" and listed
--help text as an exception alongside cleanupFiles.ts
Check 7 (Doc-Code Sync):
- cloneRepo: added fetch tags step and onProgress param to table
- installPackages: documented custom-mode fallback to pnpm i
- cleanupFiles: added onProgress param to table
- Validation order: added step 7 (empty-after-parse check)
- Security: stderr is piped (not suppressed) for error diagnostics
- AGENTS.md: semicolons are asNeeded not no, trailing commas are
all not none, mocking pattern includes exec.test.ts spawn mock
-**Mocking pattern:** Operations tests mock `exec`/`execFile` from `source/operations/exec.js`. Non-interactive tests mock the entire operations layer
67
+
-**Mocking pattern:** Operations tests mock `exec`/`execFile` from `source/operations/exec.js`. `exec.test.ts` mocks `child_process.spawn` directly to test the helpers themselves. Non-interactive tests mock the entire operations layer
68
68
-**Coverage:** Focus on the agentic interface. Test files and `source/components/` are excluded from coverage
`featureNames` is derived as `Object.keys(featureDefinitions)`.
77
77
78
-
When adding a new feature, add it here. All other code (validation, cleanup, info output, TUI selection) picks it up automatically — except `cleanupFiles.ts` which needs explicit cleanup rules.
78
+
When adding a new feature, add it here. Programmatic consumers (validation, info output, TUI selection) pick it up automatically — except `cleanupFiles.ts`(which needs explicit cleanup rules) and the CLI `--help` text in `cli.tsx` (which maintains its own copy).
79
79
80
80
### Operations Layer (`source/operations/`)
81
81
82
82
Plain async functions with no UI dependencies. Each operation receives explicit arguments (project folder, mode, features) and performs file system or shell work. Multi-step operations accept an optional `onProgress` callback that the TUI uses to render per-step progress; the non-interactive path omits it.
83
83
84
84
| Function | What it does |
85
85
|---|---|
86
-
|`cloneRepo(projectName)`| Shallow clone, checkout latest tag, rm .git, git init. Uses `execFile` (no shell) for all commands except `git checkout $(...)` which needs shell substitution. |
86
+
|`cloneRepo(projectName, onProgress?)`| Shallow clone, fetch tags, checkout latest tag, rm .git, git init. Uses `execFile` (no shell) for all commands except `git checkout $(...)` which needs shell substitution. |
87
87
|`createEnvFile(projectFolder)`| Copy .env.example to .env.local |
0 commit comments