mirror of
https://github.com/garrytan/gstack.git
synced 2026-06-09 11:33:56 +02:00
fix: remove Rails-isms — platform-agnostic templates and checklist
- review/checklist.md: multi-framework examples (Rails/Node/Python/Django) - plan-ceo-review: framework-agnostic grep + generic error table - plan-eng-review: "corresponding test" not "JS or Rails test" - CLAUDE.md: Platform-agnostic design principle + Testing section Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -30,6 +30,17 @@ on `git diff` against the base branch. Each test declares its file dependencies
|
||||
llm-judge, gen-skill-docs) trigger all tests. Use `EVALS_ALL=1` or the `:all` script
|
||||
variants to force all tests. Run `eval:select` to preview which tests would run.
|
||||
|
||||
## Testing
|
||||
|
||||
```bash
|
||||
bun test # run before every commit — free, <2s
|
||||
bun run test:evals # run before shipping — paid, diff-based (~$4/run max)
|
||||
```
|
||||
|
||||
`bun test` runs skill validation, gen-skill-docs quality checks, and browse
|
||||
integration tests. `bun run test:evals` runs LLM-judge quality evals and E2E
|
||||
tests via `claude -p`. Both must pass before creating a PR.
|
||||
|
||||
## Project structure
|
||||
|
||||
```
|
||||
@@ -79,6 +90,18 @@ SKILL.md files are **generated** from `.tmpl` templates. To update docs:
|
||||
To add a new browse command: add it to `browse/src/commands.ts` and rebuild.
|
||||
To add a snapshot flag: add it to `SNAPSHOT_FLAGS` in `browse/src/snapshot.ts` and rebuild.
|
||||
|
||||
## Platform-agnostic design
|
||||
|
||||
Skills must NEVER hardcode framework-specific commands, file patterns, or directory
|
||||
structures. Instead:
|
||||
|
||||
1. **Read CLAUDE.md** for project-specific config (test commands, eval commands, etc.)
|
||||
2. **If missing, AskUserQuestion** — let the user tell you or let gstack search the repo
|
||||
3. **Persist the answer to CLAUDE.md** so we never have to ask again
|
||||
|
||||
This applies to test commands, eval commands, deploy commands, and any other
|
||||
project-specific behavior. The project owns its config; gstack reads it.
|
||||
|
||||
## Writing SKILL templates
|
||||
|
||||
SKILL.md.tmpl files are **prompt templates read by Claude**, not bash scripts.
|
||||
|
||||
Reference in New Issue
Block a user