@vyuhlabs/dxkit 2.4.8 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +312 -0
- package/README.md +360 -439
- package/dist/analyzers/security/aggregator.d.ts.map +1 -1
- package/dist/analyzers/security/aggregator.js +4 -46
- package/dist/analyzers/security/aggregator.js.map +1 -1
- package/dist/analyzers/tools/fingerprint.d.ts +91 -26
- package/dist/analyzers/tools/fingerprint.d.ts.map +1 -1
- package/dist/analyzers/tools/fingerprint.js +111 -22
- package/dist/analyzers/tools/fingerprint.js.map +1 -1
- package/dist/analyzers/tools/generic.d.ts.map +1 -1
- package/dist/analyzers/tools/generic.js +6 -1
- package/dist/analyzers/tools/generic.js.map +1 -1
- package/dist/analyzers/tools/gitleaks.d.ts +24 -1
- package/dist/analyzers/tools/gitleaks.d.ts.map +1 -1
- package/dist/analyzers/tools/gitleaks.js +20 -11
- package/dist/analyzers/tools/gitleaks.js.map +1 -1
- package/dist/analyzers/tools/graphify.d.ts.map +1 -1
- package/dist/analyzers/tools/graphify.js +9 -5
- package/dist/analyzers/tools/graphify.js.map +1 -1
- package/dist/analyzers/tools/tool-registry.d.ts +19 -1
- package/dist/analyzers/tools/tool-registry.d.ts.map +1 -1
- package/dist/analyzers/tools/tool-registry.js +25 -0
- package/dist/analyzers/tools/tool-registry.js.map +1 -1
- package/dist/analyzers/types.d.ts +6 -4
- package/dist/analyzers/types.d.ts.map +1 -1
- package/dist/baseline/baseline-file.d.ts +104 -0
- package/dist/baseline/baseline-file.d.ts.map +1 -0
- package/dist/baseline/baseline-file.js +110 -0
- package/dist/baseline/baseline-file.js.map +1 -0
- package/dist/baseline/check-renderers.d.ts +108 -0
- package/dist/baseline/check-renderers.d.ts.map +1 -0
- package/dist/baseline/check-renderers.js +379 -0
- package/dist/baseline/check-renderers.js.map +1 -0
- package/dist/baseline/check.d.ts +127 -0
- package/dist/baseline/check.d.ts.map +1 -0
- package/dist/baseline/check.js +462 -0
- package/dist/baseline/check.js.map +1 -0
- package/dist/baseline/content-hash.d.ts +83 -0
- package/dist/baseline/content-hash.d.ts.map +1 -0
- package/dist/baseline/content-hash.js +131 -0
- package/dist/baseline/content-hash.js.map +1 -0
- package/dist/baseline/create.d.ts +96 -0
- package/dist/baseline/create.d.ts.map +1 -0
- package/dist/baseline/create.js +339 -0
- package/dist/baseline/create.js.map +1 -0
- package/dist/baseline/entry-to-located.d.ts +35 -0
- package/dist/baseline/entry-to-located.d.ts.map +1 -0
- package/dist/baseline/entry-to-located.js +72 -0
- package/dist/baseline/entry-to-located.js.map +1 -0
- package/dist/baseline/finding-identity.d.ts +47 -0
- package/dist/baseline/finding-identity.d.ts.map +1 -0
- package/dist/baseline/finding-identity.js +292 -0
- package/dist/baseline/finding-identity.js.map +1 -0
- package/dist/baseline/git-aware-match.d.ts +146 -0
- package/dist/baseline/git-aware-match.d.ts.map +1 -0
- package/dist/baseline/git-aware-match.js +439 -0
- package/dist/baseline/git-aware-match.js.map +1 -0
- package/dist/baseline/policy.d.ts +171 -0
- package/dist/baseline/policy.d.ts.map +1 -0
- package/dist/baseline/policy.js +206 -0
- package/dist/baseline/policy.js.map +1 -0
- package/dist/baseline/producers/health.d.ts +30 -0
- package/dist/baseline/producers/health.d.ts.map +1 -0
- package/dist/baseline/producers/health.js +42 -0
- package/dist/baseline/producers/health.js.map +1 -0
- package/dist/baseline/producers/index.d.ts +164 -0
- package/dist/baseline/producers/index.d.ts.map +1 -0
- package/dist/baseline/producers/index.js +200 -0
- package/dist/baseline/producers/index.js.map +1 -0
- package/dist/baseline/producers/licenses.d.ts +23 -0
- package/dist/baseline/producers/licenses.d.ts.map +1 -0
- package/dist/baseline/producers/licenses.js +46 -0
- package/dist/baseline/producers/licenses.js.map +1 -0
- package/dist/baseline/producers/quality.d.ts +39 -0
- package/dist/baseline/producers/quality.d.ts.map +1 -0
- package/dist/baseline/producers/quality.js +84 -0
- package/dist/baseline/producers/quality.js.map +1 -0
- package/dist/baseline/producers/secret-hmac.d.ts +45 -0
- package/dist/baseline/producers/secret-hmac.d.ts.map +1 -0
- package/dist/baseline/producers/secret-hmac.js +70 -0
- package/dist/baseline/producers/secret-hmac.js.map +1 -0
- package/dist/baseline/producers/security.d.ts +59 -0
- package/dist/baseline/producers/security.d.ts.map +1 -0
- package/dist/baseline/producers/security.js +135 -0
- package/dist/baseline/producers/security.js.map +1 -0
- package/dist/baseline/producers/tests.d.ts +36 -0
- package/dist/baseline/producers/tests.d.ts.map +1 -0
- package/dist/baseline/producers/tests.js +69 -0
- package/dist/baseline/producers/tests.js.map +1 -0
- package/dist/baseline/salt.d.ts +45 -0
- package/dist/baseline/salt.d.ts.map +1 -0
- package/dist/baseline/salt.js +113 -0
- package/dist/baseline/salt.js.map +1 -0
- package/dist/baseline/show.d.ts +79 -0
- package/dist/baseline/show.d.ts.map +1 -0
- package/dist/baseline/show.js +233 -0
- package/dist/baseline/show.js.map +1 -0
- package/dist/baseline/types.d.ts +482 -0
- package/dist/baseline/types.d.ts.map +1 -0
- package/dist/baseline/types.js +53 -0
- package/dist/baseline/types.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +398 -82
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -4
- package/dist/constants.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +39 -35
- package/dist/doctor.js.map +1 -1
- package/dist/fail-on.d.ts +84 -0
- package/dist/fail-on.d.ts.map +1 -0
- package/dist/fail-on.js +128 -0
- package/dist/fail-on.js.map +1 -0
- package/dist/generator.d.ts +1 -1
- package/dist/generator.d.ts.map +1 -1
- package/dist/generator.js +81 -274
- package/dist/generator.js.map +1 -1
- package/dist/hooks-cli.d.ts +20 -0
- package/dist/hooks-cli.d.ts.map +1 -0
- package/dist/hooks-cli.js +145 -0
- package/dist/hooks-cli.js.map +1 -0
- package/dist/languages/csharp.d.ts.map +1 -1
- package/dist/languages/csharp.js +4 -9
- package/dist/languages/csharp.js.map +1 -1
- package/dist/languages/go.d.ts.map +1 -1
- package/dist/languages/go.js +3 -14
- package/dist/languages/go.js.map +1 -1
- package/dist/languages/index.d.ts +19 -1
- package/dist/languages/index.d.ts.map +1 -1
- package/dist/languages/index.js +32 -0
- package/dist/languages/index.js.map +1 -1
- package/dist/languages/java.d.ts.map +1 -1
- package/dist/languages/java.js +4 -6
- package/dist/languages/java.js.map +1 -1
- package/dist/languages/kotlin.d.ts.map +1 -1
- package/dist/languages/kotlin.js +9 -11
- package/dist/languages/kotlin.js.map +1 -1
- package/dist/languages/python.d.ts.map +1 -1
- package/dist/languages/python.js +4 -15
- package/dist/languages/python.js.map +1 -1
- package/dist/languages/ruby.d.ts.map +1 -1
- package/dist/languages/ruby.js +4 -6
- package/dist/languages/ruby.js.map +1 -1
- package/dist/languages/rust.d.ts.map +1 -1
- package/dist/languages/rust.js +4 -4
- package/dist/languages/rust.js.map +1 -1
- package/dist/languages/types.d.ts +29 -28
- package/dist/languages/types.d.ts.map +1 -1
- package/dist/languages/typescript.d.ts.map +1 -1
- package/dist/languages/typescript.js +31 -4
- package/dist/languages/typescript.js.map +1 -1
- package/dist/lib.d.ts +2 -3
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js +3 -6
- package/dist/lib.js.map +1 -1
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +0 -10
- package/dist/prompts.js.map +1 -1
- package/dist/report-schema.d.ts +42 -0
- package/dist/report-schema.d.ts.map +1 -0
- package/dist/report-schema.js +54 -0
- package/dist/report-schema.js.map +1 -0
- package/dist/ship-installers.d.ts +112 -0
- package/dist/ship-installers.d.ts.map +1 -0
- package/dist/ship-installers.js +530 -0
- package/dist/ship-installers.js.map +1 -0
- package/dist/tools-cli.d.ts.map +1 -1
- package/dist/tools-cli.js +45 -9
- package/dist/tools-cli.js.map +1 -1
- package/dist/types.d.ts +0 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/update.d.ts.map +1 -1
- package/dist/update.js +0 -4
- package/dist/update.js.map +1 -1
- package/package.json +17 -11
- package/templates/.claude/skills/dxkit-action/SKILL.md +150 -0
- package/templates/.claude/skills/dxkit-config/SKILL.md +124 -0
- package/templates/.claude/skills/dxkit-hooks/SKILL.md +109 -0
- package/templates/.claude/skills/dxkit-init/SKILL.md +93 -0
- package/templates/.claude/skills/dxkit-learn/SKILL.md +84 -0
- package/templates/.claude/skills/dxkit-reports/SKILL.md +111 -0
- package/templates/.devcontainer/devcontainer.json +55 -0
- package/templates/.devcontainer/install-agent-clis.sh +42 -0
- package/templates/.devcontainer/post-create.sh +81 -0
- package/templates/.githooks/pre-commit +55 -0
- package/templates/.githooks/pre-push +63 -0
- package/templates/.github/workflows/dxkit-baseline-refresh.yml +78 -0
- package/templates/.github/workflows/dxkit-guardrails.yml +98 -0
- package/templates/AGENTS.md.template +137 -0
- package/templates/CLAUDE.md.template +16 -245
- package/dist/codebase-scanner.d.ts +0 -36
- package/dist/codebase-scanner.d.ts.map +0 -1
- package/dist/codebase-scanner.js +0 -688
- package/dist/codebase-scanner.js.map +0 -1
- package/dist/project-yaml.d.ts +0 -13
- package/dist/project-yaml.d.ts.map +0 -1
- package/dist/project-yaml.js +0 -188
- package/dist/project-yaml.js.map +0 -1
- package/templates/.ai/README.md +0 -117
- package/templates/.ai/prompts/execution-prompt.md +0 -9
- package/templates/.ai/prompts/planning-prompt.md +0 -18
- package/templates/.ai/prompts/session-end-template.md +0 -182
- package/templates/.ai/prompts/session-end.md +0 -132
- package/templates/.ai/prompts/session-start.md +0 -109
- package/templates/.ai/prompts/step-by-step.md +0 -113
- package/templates/.ai/sessions/.gitkeep +0 -0
- package/templates/.claude/agents/doc-writer.md +0 -107
- package/templates/.claude/agents/knowledge-bot.md +0 -64
- package/templates/.claude/agents/onboarding.md +0 -61
- package/templates/.claude/agents/quality-reviewer.md +0 -85
- package/templates/.claude/agents-available/code-reviewer.md +0 -29
- package/templates/.claude/agents-available/codebase-explorer.md +0 -100
- package/templates/.claude/agents-available/dashboard-builder.md +0 -433
- package/templates/.claude/agents-available/debugger.md +0 -29
- package/templates/.claude/agents-available/dependency-mapper.md +0 -80
- package/templates/.claude/agents-available/dev-report.md +0 -108
- package/templates/.claude/agents-available/doc-writer.md +0 -107
- package/templates/.claude/agents-available/feature-builder.md +0 -163
- package/templates/.claude/agents-available/feature-planner.md +0 -185
- package/templates/.claude/agents-available/health-auditor.md +0 -95
- package/templates/.claude/agents-available/hooks-configurator.md +0 -211
- package/templates/.claude/agents-available/knowledge-bot.md +0 -62
- package/templates/.claude/agents-available/plan-executor.md +0 -133
- package/templates/.claude/agents-available/strategic-planner.md +0 -141
- package/templates/.claude/agents-available/test-gap-finder.md +0 -67
- package/templates/.claude/agents-available/test-writer.md +0 -34
- package/templates/.claude/agents-available/vulnerability-scanner.md +0 -173
- package/templates/.claude/commands/ask.md +0 -7
- package/templates/.claude/commands/build-feature.md +0 -26
- package/templates/.claude/commands/build.md.template +0 -30
- package/templates/.claude/commands/check.md.template +0 -43
- package/templates/.claude/commands/dashboard.md +0 -28
- package/templates/.claude/commands/deps.md +0 -15
- package/templates/.claude/commands/dev-report.md +0 -50
- package/templates/.claude/commands/docs.md +0 -21
- package/templates/.claude/commands/doctor.md +0 -21
- package/templates/.claude/commands/enable-agent.md +0 -12
- package/templates/.claude/commands/execute-plan.md +0 -25
- package/templates/.claude/commands/explore-codebase.md +0 -12
- package/templates/.claude/commands/export-pdf.md +0 -30
- package/templates/.claude/commands/feature.md +0 -25
- package/templates/.claude/commands/fix-issue.md +0 -12
- package/templates/.claude/commands/fix.md.template +0 -32
- package/templates/.claude/commands/health.md +0 -58
- package/templates/.claude/commands/help.md +0 -36
- package/templates/.claude/commands/learn.md +0 -48
- package/templates/.claude/commands/onboarding.md +0 -21
- package/templates/.claude/commands/plan.md +0 -20
- package/templates/.claude/commands/quality.md.template +0 -65
- package/templates/.claude/commands/session-end.md +0 -40
- package/templates/.claude/commands/session-start.md +0 -30
- package/templates/.claude/commands/setup-hooks.md +0 -18
- package/templates/.claude/commands/setup-pr-review.md +0 -72
- package/templates/.claude/commands/stealth-mode.md +0 -17
- package/templates/.claude/commands/test-gaps.md +0 -49
- package/templates/.claude/commands/test.md.template +0 -40
- package/templates/.claude/commands/vulnerabilities.md +0 -49
- package/templates/.claude/skills/build/SKILL.md.template +0 -98
- package/templates/.claude/skills/deploy/SKILL.md.template +0 -131
- package/templates/.claude/skills/deploy/references/gotchas.md +0 -5
- package/templates/.claude/skills/doctor/SKILL.md +0 -54
- package/templates/.claude/skills/gcloud/SKILL.md +0 -66
- package/templates/.claude/skills/gcloud/references/gotchas.md +0 -5
- package/templates/.claude/skills/learned/SKILL.md +0 -55
- package/templates/.claude/skills/learned/references/conventions.md +0 -11
- package/templates/.claude/skills/learned/references/deny-recommendations.md +0 -18
- package/templates/.claude/skills/learned/references/gotchas.md +0 -11
- package/templates/.claude/skills/pulumi/SKILL.md +0 -73
- package/templates/.claude/skills/quality/SKILL.md.template +0 -108
- package/templates/.claude/skills/quality/references/gotchas.md +0 -5
- package/templates/.claude/skills/review/SKILL.md.template +0 -73
- package/templates/.claude/skills/scaffold/SKILL.md.template +0 -123
- package/templates/.claude/skills/secrets/SKILL.md +0 -52
- package/templates/.claude/skills/session/SKILL.md +0 -43
- package/templates/.claude/skills/test/SKILL.md.template +0 -122
- package/templates/.claude/skills/test/references/gotchas.md +0 -5
- package/templates/.devcontainer/Dockerfile.dev.template +0 -89
- package/templates/.devcontainer/devcontainer.json.template +0 -184
- package/templates/.devcontainer/docker-compose.yml.template +0 -105
- package/templates/.devcontainer/init-scripts/01-init.sql.template +0 -12
- package/templates/.devcontainer/post-create.sh.template +0 -298
- package/templates/.github/workflows/ci.yml.template +0 -399
- package/templates/.github/workflows/quality.yml.template +0 -376
- package/templates/.pre-commit-config.yaml.template +0 -106
- package/templates/.project/config/edit_config.py +0 -275
- package/templates/.project/config/project_config.py +0 -894
- package/templates/.project/scripts/codegen/generate-all.sh +0 -20
- package/templates/.project/scripts/codegen/validate-all.sh +0 -17
- package/templates/.project/scripts/docs/generate-all.sh +0 -30
- package/templates/.project/scripts/docs/serve.sh +0 -20
- package/templates/.project/scripts/quality/fix-all.sh +0 -138
- package/templates/.project/scripts/quality/lint-go.sh +0 -34
- package/templates/.project/scripts/quality/lint-python.sh +0 -54
- package/templates/.project/scripts/quality/run-all.sh +0 -497
- package/templates/.project/scripts/session/commit.sh +0 -70
- package/templates/.project/scripts/session/create-pr.sh +0 -165
- package/templates/.project/scripts/session/end.sh +0 -207
- package/templates/.project/scripts/session/start.sh +0 -233
- package/templates/.project/scripts/setup/doctor.sh +0 -404
- package/templates/.project/scripts/setup/interactive-setup.sh +0 -585
- package/templates/.project/scripts/sync/sync-template.sh +0 -328
- package/templates/.project/scripts/test/run-all.sh +0 -179
- package/templates/.project/scripts/test/run-quick.sh +0 -25
- package/templates/Makefile +0 -514
- package/templates/config/versions.yaml +0 -57
- package/templates/configs/go/.golangci.yml.template +0 -172
- package/templates/configs/go/go.mod.template +0 -15
- package/templates/configs/java/README.md +0 -6
- package/templates/configs/kotlin/README.md +0 -6
- package/templates/configs/node/package.json.template +0 -67
- package/templates/configs/node/tsconfig.json.template +0 -53
- package/templates/configs/python/pyproject.toml.template +0 -92
- package/templates/configs/python/pytest.ini.template +0 -64
- package/templates/configs/python/ruff.toml.template +0 -79
- package/templates/configs/ruby/README.md +0 -6
- package/templates/configs/rust/Cargo.toml.template +0 -51
- package/templates/configs/shared/.editorconfig +0 -67
- package/templates/scripts/validate-templates.sh +0 -449
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
# Session End Prompt Template
|
|
2
|
-
|
|
3
|
-
Use this prompt to wrap up an AI-assisted development session and create a checkpoint.
|
|
4
|
-
|
|
5
|
-
## Prompt Template
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
We're wrapping up this session. Please create a session checkpoint document:
|
|
9
|
-
|
|
10
|
-
1. Determine the developer name from git config (git config user.name)
|
|
11
|
-
2. Convert to lowercase with hyphens (e.g., "John Doe" → "john-doe")
|
|
12
|
-
3. Get today's date in YYYY-MM-DD format
|
|
13
|
-
4. Check for existing session files in .ai/sessions/{developer-name}/{YYYY-MM-DD}/
|
|
14
|
-
5. Create checkpoint file: .ai/sessions/{developer-name}/{YYYY-MM-DD}/session-{N}.md
|
|
15
|
-
- Create the date folder if it doesn't exist
|
|
16
|
-
- {N} is the session number for today (increment if multiple sessions today)
|
|
17
|
-
|
|
18
|
-
6. Use the template from .ai/templates/session-checkpoint-template.md
|
|
19
|
-
|
|
20
|
-
6. Fill in the template with:
|
|
21
|
-
- Session goal (what we set out to do)
|
|
22
|
-
- What we accomplished (specific, measurable)
|
|
23
|
-
- All files created/modified (with brief description of changes)
|
|
24
|
-
- Key decisions made (with reasoning)
|
|
25
|
-
- Implementation details (how things work)
|
|
26
|
-
- Testing status (what's tested, what's passing)
|
|
27
|
-
- Next steps (clear, actionable items for next session)
|
|
28
|
-
- Context for AI (detailed context for next session's agent)
|
|
29
|
-
- Any blockers or considerations
|
|
30
|
-
|
|
31
|
-
Make the checkpoint detailed enough that someone else (or a fresh AI agent) can understand what was done and continue the work.
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## What Makes a Good Checkpoint?
|
|
35
|
-
|
|
36
|
-
### Essential Elements
|
|
37
|
-
|
|
38
|
-
✅ **Clear Goal**
|
|
39
|
-
- What we wanted to accomplish
|
|
40
|
-
- Why this work matters
|
|
41
|
-
|
|
42
|
-
✅ **Specific Accomplishments**
|
|
43
|
-
- Not "worked on client" but "implemented PolygonClient with quote/bars endpoints, added Pydantic models, wrote 15 unit tests"
|
|
44
|
-
|
|
45
|
-
✅ **File Changes**
|
|
46
|
-
- Every file created or modified
|
|
47
|
-
- What changed in each file
|
|
48
|
-
|
|
49
|
-
✅ **Decision Rationale**
|
|
50
|
-
- Why we chose approach A over B
|
|
51
|
-
- Trade-offs we accepted
|
|
52
|
-
|
|
53
|
-
✅ **Technical Details**
|
|
54
|
-
- How the implementation works
|
|
55
|
-
- Important patterns or techniques used
|
|
56
|
-
- Where to find key logic
|
|
57
|
-
|
|
58
|
-
✅ **Actionable Next Steps**
|
|
59
|
-
- Specific, not vague
|
|
60
|
-
- Ordered by priority
|
|
61
|
-
- With enough context to start
|
|
62
|
-
|
|
63
|
-
✅ **AI Context Block**
|
|
64
|
-
- Detailed prompt for next session's agent
|
|
65
|
-
- Key facts to remember
|
|
66
|
-
- How to continue
|
|
67
|
-
|
|
68
|
-
## Example Good vs Bad Checkpoints
|
|
69
|
-
|
|
70
|
-
### ❌ Bad Checkpoint
|
|
71
|
-
|
|
72
|
-
```markdown
|
|
73
|
-
## Accomplished
|
|
74
|
-
- Worked on the client
|
|
75
|
-
- Made progress on tools
|
|
76
|
-
- Fixed some bugs
|
|
77
|
-
|
|
78
|
-
## Next Steps
|
|
79
|
-
- Continue implementation
|
|
80
|
-
- Add more tests
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
**Why bad:** Vague, no specifics, can't continue from this
|
|
84
|
-
|
|
85
|
-
### ✅ Good Checkpoint
|
|
86
|
-
|
|
87
|
-
```markdown
|
|
88
|
-
## Accomplished
|
|
89
|
-
- Implemented PolygonClient class in services/langgraph-service/src/clients/polygon/client.py
|
|
90
|
-
- Added async methods: get_quote(), get_bars(), get_options_chain()
|
|
91
|
-
- Implemented retry logic for rate limits (429 errors)
|
|
92
|
-
- Added authentication via Bearer token
|
|
93
|
-
- Created Pydantic models in clients/polygon/models.py (Quote, Bar, OptionContract)
|
|
94
|
-
- Added 15 unit tests in tests/clients/test_polygon.py (100% coverage)
|
|
95
|
-
- All tests passing (make test)
|
|
96
|
-
|
|
97
|
-
## Next Steps
|
|
98
|
-
1. Integrate PolygonClient into market_data tool
|
|
99
|
-
2. Update tool to use client's get_quote() method instead of mock data
|
|
100
|
-
3. Add integration test with mocked PolygonClient
|
|
101
|
-
4. Update tool registry to include new market data capabilities
|
|
102
|
-
|
|
103
|
-
## Context for AI
|
|
104
|
-
We've implemented the Polygon client infrastructure layer. The client handles all HTTP communication, auth, and retries.
|
|
105
|
-
|
|
106
|
-
Next, we need to integrate it into the tool layer. The market_data.py tool currently returns mock data - replace the get_stock_quote() function to use polygon_client.get_quote().
|
|
107
|
-
|
|
108
|
-
Remember to inject PolygonClient as a dependency (don't import directly) to keep tests mockable.
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
**Why good:** Specific files, concrete accomplishments, clear next steps, AI can continue easily
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## Skill Evolution
|
|
116
|
-
|
|
117
|
-
After creating the checkpoint, review the session for learnings:
|
|
118
|
-
|
|
119
|
-
✅ **Gotchas** — Unexpected behaviors, edge cases, or failure modes
|
|
120
|
-
→ Append to `.claude/skills/learned/references/gotchas.md` or `.claude/skills/<area>/references/gotchas.md`
|
|
121
|
-
|
|
122
|
-
✅ **Conventions** — New patterns or team agreements established
|
|
123
|
-
→ Append to `.claude/skills/learned/references/conventions.md`
|
|
124
|
-
|
|
125
|
-
✅ **New Skills** — If a new domain/workflow emerged that deserves its own skill
|
|
126
|
-
→ Create `.claude/skills/<name>/SKILL.md` with frontmatter (`name`, `description`)
|
|
127
|
-
|
|
128
|
-
⚠️ **NEVER include secret values, tokens, or credentials in skill files**
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
**Remember:** A good checkpoint enables seamless continuation. Treat it like documentation for your future self (or the next AI agent).
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
# Session Start Prompt Template
|
|
2
|
-
|
|
3
|
-
Use this prompt to start a new AI-assisted development session.
|
|
4
|
-
|
|
5
|
-
## Prompt Template
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
I want to {SESSION_GOAL}.
|
|
9
|
-
|
|
10
|
-
{IF CONTINUING FROM PREVIOUS SESSION:}
|
|
11
|
-
I'm continuing from a previous session. Please read the checkpoint:
|
|
12
|
-
.ai/sessions/{DEVELOPER_NAME}/{LAST_CHECKPOINT_FILE}
|
|
13
|
-
|
|
14
|
-
Summarize what was accomplished and what's left to do.
|
|
15
|
-
{END IF}
|
|
16
|
-
|
|
17
|
-
Before we start coding, let's plan this session:
|
|
18
|
-
|
|
19
|
-
1. What files will we need to create/modify?
|
|
20
|
-
2. What are the key components/functions?
|
|
21
|
-
3. What dependencies or external services do we need?
|
|
22
|
-
4. What tests should we write?
|
|
23
|
-
5. Can we complete this in one session (within context window)?
|
|
24
|
-
6. Does this align with our architecture? (Check docs/architecture/system-overview.md and docs/developer-guide/key-principles.md)
|
|
25
|
-
|
|
26
|
-
Once we have a solid plan that fits in one session, I'll ask you to proceed step by step.
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Example Usage
|
|
30
|
-
|
|
31
|
-
### New Feature (No Previous Session)
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
I want to implement the Polygon client for fetching stock quotes and historical bars.
|
|
35
|
-
|
|
36
|
-
Before we start coding, let's plan this session:
|
|
37
|
-
|
|
38
|
-
1. What files will we need to create/modify?
|
|
39
|
-
2. What are the key components/functions?
|
|
40
|
-
3. What dependencies or external services do we need?
|
|
41
|
-
4. What tests should we write?
|
|
42
|
-
5. Can we complete this in one session (within context window)?
|
|
43
|
-
6. Does this align with our architecture?
|
|
44
|
-
|
|
45
|
-
Once we have a solid plan that fits in one session, I'll ask you to proceed step by step.
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### Continuing from Previous Session
|
|
49
|
-
|
|
50
|
-
```
|
|
51
|
-
I want to continue implementing the market data integration.
|
|
52
|
-
|
|
53
|
-
I'm continuing from a previous session. Please read the checkpoint:
|
|
54
|
-
.ai/sessions/john-doe/2025-10-05-session-1.md
|
|
55
|
-
|
|
56
|
-
Summarize what was accomplished and what's left to do.
|
|
57
|
-
|
|
58
|
-
Before we start coding, let's plan this session...
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
## Before Planning
|
|
62
|
-
|
|
63
|
-
Check Claude Code skills for relevant context before starting work:
|
|
64
|
-
- `.claude/skills/codebase/SKILL.md` — Architecture overview (run `/project:explore-codebase` if missing)
|
|
65
|
-
- `.claude/skills/learned/references/gotchas.md` — Known project gotchas (avoid repeating past mistakes)
|
|
66
|
-
- `.claude/skills/learned/references/conventions.md` — Team conventions (follow established patterns)
|
|
67
|
-
- `.claude/skills/<area>/references/gotchas.md` — Area-specific gotchas (quality, test, deploy, etc.)
|
|
68
|
-
|
|
69
|
-
## What Good Planning Looks Like
|
|
70
|
-
|
|
71
|
-
The AI agent should respond with:
|
|
72
|
-
|
|
73
|
-
### File Plan
|
|
74
|
-
- Clear list of files to create/modify
|
|
75
|
-
- Rationale for each file
|
|
76
|
-
- Estimated size/complexity
|
|
77
|
-
|
|
78
|
-
### Component Breakdown
|
|
79
|
-
- Main classes/functions to implement
|
|
80
|
-
- How they fit together
|
|
81
|
-
- Dependencies between components
|
|
82
|
-
|
|
83
|
-
### Testing Plan
|
|
84
|
-
- What needs unit tests
|
|
85
|
-
- What needs integration tests
|
|
86
|
-
- Test coverage strategy
|
|
87
|
-
|
|
88
|
-
### Feasibility Check
|
|
89
|
-
- Honest assessment of scope
|
|
90
|
-
- Recommendation to split if too large
|
|
91
|
-
- Estimated complexity
|
|
92
|
-
|
|
93
|
-
## If the Plan Looks Good
|
|
94
|
-
|
|
95
|
-
```
|
|
96
|
-
Great plan! This looks achievable in one session and aligns with our architecture.
|
|
97
|
-
|
|
98
|
-
Let's proceed step by step. Before implementing each component:
|
|
99
|
-
1. Tell me what you're about to do
|
|
100
|
-
2. Explain WHY we're doing it this way
|
|
101
|
-
3. Explain HOW it fits into the architecture
|
|
102
|
-
4. Then implement it
|
|
103
|
-
|
|
104
|
-
Let's start with {FIRST_COMPONENT}.
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
---
|
|
108
|
-
|
|
109
|
-
**Remember:** Good planning saves time. Spend 5-10 minutes planning to save hours of refactoring.
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
# Step-by-Step Development Prompt
|
|
2
|
-
|
|
3
|
-
Use this prompt during development to ensure AI agent explains before implementing.
|
|
4
|
-
|
|
5
|
-
## Prompt Template
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
Great plan! Let's proceed step by step.
|
|
9
|
-
|
|
10
|
-
Before implementing each component:
|
|
11
|
-
1. Tell me what you're about to do
|
|
12
|
-
2. Explain WHY we're doing it this way (business reason, architectural fit)
|
|
13
|
-
3. Explain HOW it will work (technical approach)
|
|
14
|
-
4. Then implement it
|
|
15
|
-
|
|
16
|
-
Let's start with {FIRST_COMPONENT}.
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## During Development - Validation Checkpoints
|
|
20
|
-
|
|
21
|
-
After each major component is implemented, validate:
|
|
22
|
-
|
|
23
|
-
```
|
|
24
|
-
Before we continue, let's verify this implementation:
|
|
25
|
-
|
|
26
|
-
1. Does it follow our architecture patterns?
|
|
27
|
-
2. Is error handling consistent with our standards?
|
|
28
|
-
3. Are we using dependency injection properly?
|
|
29
|
-
4. Is logging structured and informative?
|
|
30
|
-
5. Are type hints/types properly used?
|
|
31
|
-
6. Is it testable (dependencies can be mocked)?
|
|
32
|
-
|
|
33
|
-
If everything looks good, let's continue to {NEXT_COMPONENT}.
|
|
34
|
-
If not, let's refine before moving on.
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
## Course Correction
|
|
38
|
-
|
|
39
|
-
If something doesn't align with our patterns:
|
|
40
|
-
|
|
41
|
-
```
|
|
42
|
-
Wait, this doesn't follow our {PATTERN_NAME} pattern.
|
|
43
|
-
|
|
44
|
-
According to docs/{RELEVANT_DOC}, we should {CORRECT_APPROACH}.
|
|
45
|
-
|
|
46
|
-
Can you revise this to align with our standards?
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Example Flow
|
|
50
|
-
|
|
51
|
-
### Step 1: Client Implementation
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
Let's start with implementing the PolygonClient class.
|
|
55
|
-
|
|
56
|
-
Before coding:
|
|
57
|
-
1. What are you about to do?
|
|
58
|
-
2. Why this approach?
|
|
59
|
-
3. How will it work technically?
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
**Agent explains...**
|
|
63
|
-
|
|
64
|
-
```
|
|
65
|
-
That makes sense. Please proceed with the implementation.
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
### Step 2: Testing
|
|
69
|
-
|
|
70
|
-
```
|
|
71
|
-
Finally, let's add tests.
|
|
72
|
-
|
|
73
|
-
Before coding:
|
|
74
|
-
1. What test coverage do we need?
|
|
75
|
-
2. How will we mock the external API?
|
|
76
|
-
3. What edge cases should we test?
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## What Good Explanations Look Like
|
|
80
|
-
|
|
81
|
-
### What to Do
|
|
82
|
-
"I'm implementing the PolygonClient class with async methods for fetching quotes and historical bars."
|
|
83
|
-
|
|
84
|
-
### Why This Way
|
|
85
|
-
"We use an async client because we'll make multiple concurrent API calls. This is separated from the tool layer to follow our clean architecture pattern."
|
|
86
|
-
|
|
87
|
-
### How It Works
|
|
88
|
-
"The client will use httpx.AsyncClient for HTTP requests, handle authentication via headers, implement retry logic for rate limits, and parse responses into Pydantic models for type safety."
|
|
89
|
-
|
|
90
|
-
## Red Flags - When to Stop
|
|
91
|
-
|
|
92
|
-
❌ "I'll implement the client" → No explanation given
|
|
93
|
-
❌ "This is the standard way" → Not specific to our architecture
|
|
94
|
-
❌ "Let me write the code" → Skipping the explanation step
|
|
95
|
-
❌ Hardcoded values → Should use config
|
|
96
|
-
❌ No error handling mentioned → Missing critical aspect
|
|
97
|
-
❌ No testability consideration → Will be hard to test
|
|
98
|
-
|
|
99
|
-
## Session Flow Summary
|
|
100
|
-
|
|
101
|
-
```
|
|
102
|
-
1. Plan session ✓
|
|
103
|
-
2. For each component:
|
|
104
|
-
a. Agent explains what/why/how
|
|
105
|
-
b. Developer validates explanation
|
|
106
|
-
c. Agent implements
|
|
107
|
-
d. Developer verifies implementation
|
|
108
|
-
3. Create checkpoint ✓
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
---
|
|
112
|
-
|
|
113
|
-
**Key Principle:** Understand before coding. If you don't understand the "what/why/how", the code won't align with architecture.
|
|
File without changes
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: doc-writer
|
|
3
|
-
description: Analyzes documentation gaps and helps write or improve docs. Use when asked about documentation, "what needs docs?", "help me write docs", or "improve the README". Can read and write files.
|
|
4
|
-
model: sonnet
|
|
5
|
-
tools: Read, Grep, Glob, Write, Edit
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are a documentation specialist. Your job is to assess documentation quality, identify gaps, and help write or improve documentation.
|
|
9
|
-
|
|
10
|
-
## Capabilities
|
|
11
|
-
|
|
12
|
-
### 1. Documentation Audit
|
|
13
|
-
When asked "what needs documentation?" or "audit our docs":
|
|
14
|
-
|
|
15
|
-
1. **README.md** — Check for:
|
|
16
|
-
- Project description
|
|
17
|
-
- Prerequisites
|
|
18
|
-
- Installation/setup steps
|
|
19
|
-
- Usage examples
|
|
20
|
-
- API overview
|
|
21
|
-
- Contributing guide
|
|
22
|
-
- License
|
|
23
|
-
|
|
24
|
-
2. **Inline documentation** — Sample 10-15 source files:
|
|
25
|
-
- Public functions/methods — do they have doc comments?
|
|
26
|
-
- Complex logic — are there explaining comments?
|
|
27
|
-
- Exported types — are they documented?
|
|
28
|
-
|
|
29
|
-
3. **API documentation** — Check for:
|
|
30
|
-
- OpenAPI/Swagger specs
|
|
31
|
-
- Route documentation
|
|
32
|
-
- Request/response examples
|
|
33
|
-
|
|
34
|
-
4. **Architecture documentation** — Check for:
|
|
35
|
-
- Architecture overview diagram or description
|
|
36
|
-
- ADRs (Architecture Decision Records)
|
|
37
|
-
- Service interaction docs
|
|
38
|
-
|
|
39
|
-
Output a prioritized list of documentation gaps.
|
|
40
|
-
|
|
41
|
-
### 2. Write Documentation
|
|
42
|
-
When asked to write specific docs:
|
|
43
|
-
|
|
44
|
-
- **README** — Generate from actual codebase analysis, not templates
|
|
45
|
-
- **API docs** — Extract from route handlers and types
|
|
46
|
-
- **JSDoc/docstrings** — Add to undocumented public functions
|
|
47
|
-
- **Architecture docs** — Write from codebase analysis
|
|
48
|
-
- **Onboarding guide** — See `/onboarding` command
|
|
49
|
-
- **Changelog** — Generate from git history
|
|
50
|
-
|
|
51
|
-
### 3. Improve Existing Docs
|
|
52
|
-
When asked to improve:
|
|
53
|
-
|
|
54
|
-
1. Read the existing doc
|
|
55
|
-
2. Cross-reference with current code (is it outdated? incomplete?)
|
|
56
|
-
3. Suggest specific improvements
|
|
57
|
-
4. Implement with user approval
|
|
58
|
-
|
|
59
|
-
## Documentation Standards
|
|
60
|
-
|
|
61
|
-
### README.md
|
|
62
|
-
```markdown
|
|
63
|
-
# Project Name
|
|
64
|
-
One-line description.
|
|
65
|
-
|
|
66
|
-
## Quick Start
|
|
67
|
-
Prerequisites, install, run — under 5 commands.
|
|
68
|
-
|
|
69
|
-
## Architecture
|
|
70
|
-
High-level overview with key components.
|
|
71
|
-
|
|
72
|
-
## Development
|
|
73
|
-
How to develop, test, and contribute.
|
|
74
|
-
|
|
75
|
-
## API
|
|
76
|
-
Key endpoints or interfaces.
|
|
77
|
-
|
|
78
|
-
## Deployment
|
|
79
|
-
How to deploy.
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
### Inline Documentation
|
|
83
|
-
- **Public functions**: document params, return values, and non-obvious behavior
|
|
84
|
-
- **Complex logic**: explain WHY, not WHAT (the code shows what)
|
|
85
|
-
- **Don't over-document**: skip obvious getters/setters/CRUD
|
|
86
|
-
|
|
87
|
-
### API Documentation
|
|
88
|
-
- Every endpoint: method, path, params, request body, response, errors
|
|
89
|
-
- Include examples with curl or fetch
|
|
90
|
-
- Note authentication requirements
|
|
91
|
-
|
|
92
|
-
## Workflow
|
|
93
|
-
|
|
94
|
-
When doing an audit:
|
|
95
|
-
1. Scan for existing docs
|
|
96
|
-
2. Rate each area
|
|
97
|
-
3. Prioritize gaps by impact (README > API docs > inline docs)
|
|
98
|
-
4. Present plan to user
|
|
99
|
-
5. Write docs one section at a time with user feedback
|
|
100
|
-
|
|
101
|
-
## Rules
|
|
102
|
-
- **Write accurate docs** — read the code before documenting it
|
|
103
|
-
- **Keep it concise** — developers don't read long docs
|
|
104
|
-
- **Update, don't duplicate** — if a doc exists, improve it
|
|
105
|
-
- **Never include secrets, tokens, or credentials in docs**
|
|
106
|
-
- **Match the project's existing style** — if they use JSDoc, use JSDoc
|
|
107
|
-
- **Always end audit reports with:** `---` followed by `*Generated by [VyuhLabs DXKit](https://www.npmjs.com/package/@vyuhlabs/dxkit) doc-writer agent*`
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: knowledge-bot
|
|
3
|
-
description: Answers questions about the codebase by searching code, reading files, and connecting dots. Use when asked "how does X work?", "where is Y implemented?", or "what happens when Z?". Read-only — cannot modify files.
|
|
4
|
-
model: sonnet
|
|
5
|
-
tools: Read, Grep, Glob
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are a codebase knowledge specialist. Your job is to answer specific questions about this codebase by reading and analyzing the actual code — not guessing.
|
|
9
|
-
|
|
10
|
-
## How to Answer
|
|
11
|
-
|
|
12
|
-
1. **Understand the question** — What exactly does the user want to know? Is it about a feature, a flow, a pattern, or a specific file?
|
|
13
|
-
|
|
14
|
-
2. **Search first** — Use Grep and Glob to find relevant code before reading files. Cast a wide net:
|
|
15
|
-
- Search for function/class names mentioned in the question
|
|
16
|
-
- Search for domain keywords (e.g., "auth", "payment", "webhook")
|
|
17
|
-
- Look for related config, routes, models, and tests
|
|
18
|
-
|
|
19
|
-
3. **Read the code** — Read the most relevant files. Trace the execution path:
|
|
20
|
-
- Start at the entry point (route handler, command handler, event listener)
|
|
21
|
-
- Follow the call chain through service layers
|
|
22
|
-
- Note database queries, external API calls, and side effects
|
|
23
|
-
|
|
24
|
-
4. **Connect the dots** — Explain how the pieces fit together:
|
|
25
|
-
- Which files are involved and what each does
|
|
26
|
-
- How data flows through the system
|
|
27
|
-
- What gets called in what order
|
|
28
|
-
|
|
29
|
-
5. **Be specific** — Reference exact file paths and line numbers. Quote short code snippets when they clarify the answer.
|
|
30
|
-
|
|
31
|
-
## Answer Format
|
|
32
|
-
|
|
33
|
-
Structure your answer as:
|
|
34
|
-
|
|
35
|
-
### Short Answer
|
|
36
|
-
1-3 sentences that directly answer the question.
|
|
37
|
-
|
|
38
|
-
### How It Works
|
|
39
|
-
Step-by-step walkthrough of the relevant code path, with file references.
|
|
40
|
-
|
|
41
|
-
### Key Files
|
|
42
|
-
List of the most important files involved, with one-line descriptions.
|
|
43
|
-
|
|
44
|
-
### Related
|
|
45
|
-
Mention related patterns, tests, or areas the user might want to explore next.
|
|
46
|
-
|
|
47
|
-
## Existing Knowledge
|
|
48
|
-
|
|
49
|
-
**Always read these first** — they contain the architecture overview, languages, and conventions:
|
|
50
|
-
|
|
51
|
-
- `.claude/skills/codebase/SKILL.md` — Architecture overview (includes language breakdown, entry points, API surface)
|
|
52
|
-
- `.claude/skills/codebase/references/architecture.md` — Detailed reference
|
|
53
|
-
- `.claude/skills/learned/references/conventions.md` — Team conventions
|
|
54
|
-
- `.claude/skills/learned/references/gotchas.md` — Known gotchas
|
|
55
|
-
|
|
56
|
-
**Important:** This may be a multi-language project. Check the "Languages" section in the codebase skill and cover ALL languages in your answer — not just the dominant one.
|
|
57
|
-
|
|
58
|
-
## Rules
|
|
59
|
-
|
|
60
|
-
- **Read-only** — never modify files
|
|
61
|
-
- **Never output secrets** — skip .env files, credentials, tokens
|
|
62
|
-
- **Admit uncertainty** — if you can't find the answer, say so and suggest where to look
|
|
63
|
-
- **Stay focused** — answer the question asked, don't dump everything you find
|
|
64
|
-
- **Cite sources** — every claim should have a file:line reference
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: onboarding
|
|
3
|
-
description: Interactive onboarding buddy for new developers. Use when someone is new to the project, asks "how do I get started?", "what does this project do?", or needs help understanding the codebase for the first time. Read-only — cannot modify files.
|
|
4
|
-
model: sonnet
|
|
5
|
-
tools: Read, Grep, Glob
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are an onboarding buddy for a new developer joining this project. Your job is to help them understand the project, get set up, and become productive — interactively, at their pace.
|
|
9
|
-
|
|
10
|
-
## Your Personality
|
|
11
|
-
|
|
12
|
-
- Patient and encouraging — there are no dumb questions
|
|
13
|
-
- Specific and practical — always reference actual files, not abstract concepts
|
|
14
|
-
- Honest about complexity — if something is messy, say so
|
|
15
|
-
- Proactive — anticipate what they'll need to know next
|
|
16
|
-
|
|
17
|
-
## What You Know
|
|
18
|
-
|
|
19
|
-
Read these first for context (skip any that don't exist):
|
|
20
|
-
- `.claude/skills/codebase/SKILL.md` — Architecture overview (includes language breakdown — cover ALL languages, not just the dominant one)
|
|
21
|
-
- `.claude/skills/codebase/references/architecture.md` — Detailed reference
|
|
22
|
-
- `.claude/skills/learned/references/gotchas.md` — Known gotchas
|
|
23
|
-
- `.claude/skills/learned/references/conventions.md` — Team conventions
|
|
24
|
-
- `README.md` — Project readme
|
|
25
|
-
- `package.json`, `go.mod`, `pyproject.toml`, `*.csproj` — Dependencies
|
|
26
|
-
|
|
27
|
-
## How to Help
|
|
28
|
-
|
|
29
|
-
### If asked "how do I get started?" or just activated:
|
|
30
|
-
1. Give a 2-3 sentence project overview
|
|
31
|
-
2. List prerequisites (languages, tools, accounts)
|
|
32
|
-
3. Walk through setup steps
|
|
33
|
-
4. Suggest 3-5 files to read first to understand the architecture
|
|
34
|
-
5. Ask what area they'll be working on
|
|
35
|
-
|
|
36
|
-
### If asked about a specific area:
|
|
37
|
-
1. Search for relevant code
|
|
38
|
-
2. Explain how it works with file:line references
|
|
39
|
-
3. Point out conventions and gotchas in that area
|
|
40
|
-
4. Suggest related areas to understand
|
|
41
|
-
|
|
42
|
-
### If asked "what should I read?":
|
|
43
|
-
Prioritize by learning order:
|
|
44
|
-
1. Entry points — where execution starts
|
|
45
|
-
2. Core models/types — the domain language
|
|
46
|
-
3. Key services — the business logic
|
|
47
|
-
4. API layer — how things are exposed
|
|
48
|
-
5. Tests — how things are verified
|
|
49
|
-
|
|
50
|
-
### If asked about setup/environment:
|
|
51
|
-
1. Check for Makefile, docker-compose.yml, package.json scripts
|
|
52
|
-
2. Walk through the setup process step by step
|
|
53
|
-
3. Warn about common setup issues from gotchas.md
|
|
54
|
-
|
|
55
|
-
## Rules
|
|
56
|
-
|
|
57
|
-
- **Read-only** — never modify files
|
|
58
|
-
- **Never output secrets** — skip .env files, credentials, tokens
|
|
59
|
-
- **Stay in onboarding mode** — don't start coding, just explain and guide
|
|
60
|
-
- **Ask what they want to know next** — keep the conversation going
|
|
61
|
-
- **Cite sources** — every explanation should reference file:line
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: quality-reviewer
|
|
3
|
-
description: Reviews code for quality issues before committing. Use when asked to "review my changes", "check quality", or before committing code. Read-only — cannot modify files.
|
|
4
|
-
model: sonnet
|
|
5
|
-
tools: Read, Grep, Glob, Bash
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
You are a code quality reviewer. Your job is to review changed files and flag issues before they get committed.
|
|
9
|
-
|
|
10
|
-
## What to Review
|
|
11
|
-
|
|
12
|
-
First, find what changed:
|
|
13
|
-
1. Run `git diff --name-only` to see unstaged changes
|
|
14
|
-
2. Run `git diff --cached --name-only` to see staged changes
|
|
15
|
-
3. Read each changed file
|
|
16
|
-
|
|
17
|
-
## Quality Checklist
|
|
18
|
-
|
|
19
|
-
For each changed file, check:
|
|
20
|
-
|
|
21
|
-
### All Languages
|
|
22
|
-
- [ ] No hardcoded secrets, API keys, tokens, or passwords
|
|
23
|
-
- [ ] No TODO/FIXME/HACK without a linked issue
|
|
24
|
-
- [ ] No commented-out code blocks (dead code)
|
|
25
|
-
- [ ] Error handling is present (not swallowing errors silently)
|
|
26
|
-
- [ ] No debugging artifacts (console.log, print, debugger statements)
|
|
27
|
-
|
|
28
|
-
### TypeScript / JavaScript
|
|
29
|
-
- [ ] Proper types (no unnecessary `any`)
|
|
30
|
-
- [ ] Async/await used correctly (no floating promises)
|
|
31
|
-
- [ ] Imports are used (no unused imports)
|
|
32
|
-
- [ ] No `var` declarations (use `const`/`let`)
|
|
33
|
-
- [ ] Error boundaries for async operations
|
|
34
|
-
|
|
35
|
-
### Python
|
|
36
|
-
- [ ] Type hints on function signatures
|
|
37
|
-
- [ ] No bare `except:` clauses
|
|
38
|
-
- [ ] f-strings preferred over .format() or %
|
|
39
|
-
- [ ] Context managers for file/resource handling
|
|
40
|
-
|
|
41
|
-
### Go
|
|
42
|
-
- [ ] Errors are checked (no `_` for error returns)
|
|
43
|
-
- [ ] `defer` for cleanup
|
|
44
|
-
- [ ] No exported names without doc comments
|
|
45
|
-
|
|
46
|
-
### C#
|
|
47
|
-
- [ ] Nullable reference types handled
|
|
48
|
-
- [ ] `async`/`await` used correctly
|
|
49
|
-
- [ ] `IDisposable` pattern for resources
|
|
50
|
-
- [ ] No `catch (Exception)` without re-throw or logging
|
|
51
|
-
|
|
52
|
-
### Rust
|
|
53
|
-
- [ ] No `unwrap()` in non-test code
|
|
54
|
-
- [ ] Error types implement `std::error::Error`
|
|
55
|
-
- [ ] `clippy` would be happy
|
|
56
|
-
|
|
57
|
-
## Also Check
|
|
58
|
-
|
|
59
|
-
- Run available linters if they're installed:
|
|
60
|
-
- `npx eslint --no-warn-ignored <files>` for JS/TS
|
|
61
|
-
- `ruff check <files>` for Python
|
|
62
|
-
- `golangci-lint run <files>` for Go
|
|
63
|
-
- `dotnet format --verify-no-changes` for C#
|
|
64
|
-
- `cargo clippy` for Rust
|
|
65
|
-
|
|
66
|
-
## Output Format
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
## Quality Review
|
|
70
|
-
|
|
71
|
-
### Issues Found
|
|
72
|
-
- 🔴 **Critical**: [file:line] description (must fix)
|
|
73
|
-
- 🟡 **Warning**: [file:line] description (should fix)
|
|
74
|
-
- 🔵 **Suggestion**: [file:line] description (nice to have)
|
|
75
|
-
|
|
76
|
-
### Summary
|
|
77
|
-
X files reviewed, Y issues found (Z critical)
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
## Rules
|
|
81
|
-
|
|
82
|
-
- Be specific — exact file:line references
|
|
83
|
-
- Don't nitpick style if a formatter exists — focus on logic and safety
|
|
84
|
-
- Prioritize: security > correctness > maintainability > style
|
|
85
|
-
- If no issues found, say so clearly
|