class-ai-agent 1.2.3 → 1.4.0
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/.agent/README.md +33 -0
- package/.agent/SESSION.md +54 -0
- package/.agent/SESSION.template.md +46 -0
- package/.claude/CLAUDE.md +24 -6
- package/.claude/commands/build.md +5 -4
- package/.claude/commands/debug.md +2 -1
- package/.claude/commands/handoff.md +94 -0
- package/.claude/commands/plan.md +1 -0
- package/.claude/commands/publish-npm.md +119 -0
- package/.claude/commands/resume.md +107 -0
- package/.claude/commands/spec.md +2 -1
- package/.claude/references/agent-continuity.md +42 -0
- package/.claude/references/codegraph.md +50 -0
- package/.claude/references/supabase.md +55 -0
- package/.claude/rules/agent-continuity.md +39 -0
- package/.claude/rules/tech-stack.md +2 -1
- package/.claude/skills/agent-continuity/SKILL.md +70 -0
- package/.claude/skills/supabase/SKILL.md +135 -0
- package/.claude/skills/supabase/UPSTREAM.md +16 -0
- package/.claude/skills/supabase/assets/feedback-issue-template.md +17 -0
- package/.claude/skills/supabase/references/skill-feedback.md +17 -0
- package/.claude/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/.claude/skills/supabase-postgres-best-practices/UPSTREAM.md +16 -0
- package/.claude/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
- package/.claude/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
- package/.claude/skills/supabase-postgres-best-practices/references/_template.md +34 -0
- package/.claude/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/.claude/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/.claude/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/.claude/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/.claude/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/.claude/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/.claude/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/.claude/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/.claude/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/.claude/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/.claude/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/.claude/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/.claude/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/.claude/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/.claude/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/.claude/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/.claude/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/.claude/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/.claude/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/.claude/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/.claude/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/.claude/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/.claude/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/.claude/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/.claude/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/.claude/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/.claude/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/.claude/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/.claude/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/.claude/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/.claude/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
- package/.cursor/CURSOR.md +40 -5
- package/.cursor/commands/build.md +5 -4
- package/.cursor/commands/debug.md +2 -1
- package/.cursor/commands/handoff.md +94 -0
- package/.cursor/commands/plan.md +1 -0
- package/.cursor/commands/publish-npm.md +119 -0
- package/.cursor/commands/resume.md +107 -0
- package/.cursor/commands/spec.md +2 -1
- package/.cursor/mcp.json +19 -0
- package/.cursor/references/agent-continuity.md +42 -0
- package/.cursor/references/codegraph.md +87 -0
- package/.cursor/references/supabase.md +55 -0
- package/.cursor/rules/agent-continuity.mdc +44 -0
- package/.cursor/rules/codegraph.mdc +47 -0
- package/.cursor/rules/cursor-overview.mdc +10 -3
- package/.cursor/rules/tech-stack.mdc +2 -1
- package/.cursor/settings.json +6 -1
- package/.cursor/skills/agent-continuity/SKILL.md +70 -0
- package/.cursor/skills/supabase/SKILL.md +135 -0
- package/.cursor/skills/supabase/UPSTREAM.md +16 -0
- package/.cursor/skills/supabase/assets/feedback-issue-template.md +17 -0
- package/.cursor/skills/supabase/references/skill-feedback.md +17 -0
- package/.cursor/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/.cursor/skills/supabase-postgres-best-practices/UPSTREAM.md +16 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/_template.md +34 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/.cursor/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
- package/.kiro/KIRO.md +149 -0
- package/.kiro/agents/backend.md +395 -0
- package/.kiro/agents/code-reviewer.md +110 -0
- package/.kiro/agents/copywriter-seo.md +236 -0
- package/.kiro/agents/frontend.md +384 -0
- package/.kiro/agents/project-manager.md +201 -0
- package/.kiro/agents/qa.md +221 -0
- package/.kiro/agents/security-auditor.md +143 -0
- package/.kiro/agents/systems-architect.md +211 -0
- package/.kiro/agents/test-engineer.md +123 -0
- package/.kiro/agents/ui-ux-designer.md +210 -0
- package/.kiro/commands/build.md +133 -0
- package/.kiro/commands/debug.md +243 -0
- package/.kiro/commands/deploy.md +40 -0
- package/.kiro/commands/fix-issue.md +42 -0
- package/.kiro/commands/handoff.md +94 -0
- package/.kiro/commands/plan.md +126 -0
- package/.kiro/commands/publish-npm.md +119 -0
- package/.kiro/commands/resume.md +107 -0
- package/.kiro/commands/review.md +50 -0
- package/.kiro/commands/simplify.md +222 -0
- package/.kiro/commands/spec.md +96 -0
- package/.kiro/commands/test.md +214 -0
- package/.kiro/references/accessibility-checklist.md +174 -0
- package/.kiro/references/agent-continuity.md +42 -0
- package/.kiro/references/codegraph.md +86 -0
- package/.kiro/references/performance-checklist.md +150 -0
- package/.kiro/references/security-checklist.md +94 -0
- package/.kiro/references/supabase.md +55 -0
- package/.kiro/references/testing-patterns.md +183 -0
- package/.kiro/settings/mcp.json +19 -0
- package/.kiro/settings.json +8 -0
- package/.kiro/skills/agent-continuity/SKILL.md +70 -0
- package/.kiro/skills/code-review/SKILL.md +208 -0
- package/.kiro/skills/deploy/SKILL.md +68 -0
- package/.kiro/skills/deploy/deploy.md +735 -0
- package/.kiro/skills/incremental-implementation/SKILL.md +210 -0
- package/.kiro/skills/security-review/SKILL.md +71 -0
- package/.kiro/skills/supabase/SKILL.md +135 -0
- package/.kiro/skills/supabase/UPSTREAM.md +16 -0
- package/.kiro/skills/supabase/assets/feedback-issue-template.md +17 -0
- package/.kiro/skills/supabase/references/skill-feedback.md +17 -0
- package/.kiro/skills/supabase-postgres-best-practices/SKILL.md +64 -0
- package/.kiro/skills/supabase-postgres-best-practices/UPSTREAM.md +16 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/_template.md +34 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
- package/.kiro/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
- package/.kiro/skills/tdd/SKILL.md +217 -0
- package/.kiro/skills/ui-ux-pro-max/SKILL.md +288 -0
- package/.kiro/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/.kiro/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/.kiro/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/.kiro/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/.kiro/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/.kiro/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/.kiro/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/.kiro/skills/ui-ux-pro-max/data/styles.csv +68 -0
- package/.kiro/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/.kiro/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/.kiro/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/.kiro/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/.kiro/skills/ui-ux-pro-max/scripts/core.py +253 -0
- package/.kiro/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
- package/.kiro/skills/ui-ux-pro-max/scripts/search.py +114 -0
- package/.kiro/steering/agent-continuity.md +44 -0
- package/.kiro/steering/api-conventions.md +85 -0
- package/.kiro/steering/clean-code.md +211 -0
- package/.kiro/steering/code-style.md +92 -0
- package/.kiro/steering/codegraph.md +47 -0
- package/.kiro/steering/database.md +66 -0
- package/.kiro/steering/error-handling.md +98 -0
- package/.kiro/steering/git-workflow.md +83 -0
- package/.kiro/steering/kiro-overview.md +38 -0
- package/.kiro/steering/monitoring.md +317 -0
- package/.kiro/steering/naming-conventions.md +266 -0
- package/.kiro/steering/project-structure.md +71 -0
- package/.kiro/steering/security.md +95 -0
- package/.kiro/steering/system-design.md +168 -0
- package/.kiro/steering/tech-stack.md +463 -0
- package/.kiro/steering/testing.md +110 -0
- package/AGENTS.md +13 -7
- package/README.md +126 -18
- package/bin/class-ai-agent.cjs +171 -11
- package/package.json +12 -4
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Publish to npm (maintainers)
|
|
2
|
+
|
|
3
|
+
## Description
|
|
4
|
+
|
|
5
|
+
Publish **`class-ai-agent`** to the npm registry: draft release notes from git, get maintainer approval, update README, bump version, verify CLI, publish.
|
|
6
|
+
|
|
7
|
+
## Triggers
|
|
8
|
+
|
|
9
|
+
Use when the maintainer says any of:
|
|
10
|
+
|
|
11
|
+
- **push to npm repo**
|
|
12
|
+
- **publish to npm**
|
|
13
|
+
- **publish class-ai-agent**
|
|
14
|
+
|
|
15
|
+
Or **@ mention this file** in Chat/Composer (`.cursor/commands/publish-npm.md` in Cursor; `.kiro/commands/publish-npm.md` in Kiro).
|
|
16
|
+
|
|
17
|
+
## Prerequisites
|
|
18
|
+
|
|
19
|
+
- Changes are ready to ship; working tree reflects what you are publishing.
|
|
20
|
+
- **`npm login`** completed for the `class-ai-agent` package scope.
|
|
21
|
+
- Two-factor auth enabled for npm **writes** if the account requires it (see README *Publishing to npm*).
|
|
22
|
+
|
|
23
|
+
## Workflow
|
|
24
|
+
|
|
25
|
+
### 1. Resolve baseline version
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
git tag -l 'v*' --sort=-v:refname | head -1
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
If no `v*` tags exist, use the latest `### x.y.z` heading under **## Release notes** in README, or `package.json` version as the last shipped baseline.
|
|
32
|
+
|
|
33
|
+
Strip a leading `v` from tags when comparing to semver (e.g. `v1.2.4` → `1.2.4`).
|
|
34
|
+
|
|
35
|
+
### 2. Draft release notes (do not publish yet)
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
git log <lastTagOrBaseline>..HEAD --pretty=format:'- %s (%h)'
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
- Group related commits; rewrite subjects for user-facing clarity.
|
|
42
|
+
- Drop noise (merge commits, duplicate WIP messages) unless relevant.
|
|
43
|
+
- Present the bullet list to the maintainer and **wait for explicit approval or edits**.
|
|
44
|
+
|
|
45
|
+
### 3. Confirm version bump
|
|
46
|
+
|
|
47
|
+
Default: **`patch`** (`npm version patch --no-git-tag-version`).
|
|
48
|
+
|
|
49
|
+
Use **`minor`** or **`major`** only if the maintainer requests it.
|
|
50
|
+
|
|
51
|
+
### 4. Bump version
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npm version patch --no-git-tag-version # or minor | major
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Read the new version from `package.json`.
|
|
58
|
+
|
|
59
|
+
### 5. Update README
|
|
60
|
+
|
|
61
|
+
Prefer the helper script after approval (write bullets to a temp file):
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
npm run release:readme -- --version NEW_VERSION --date YYYY-MM-DD --notes-file /path/to/notes.md
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
`notes.md` should contain one bullet per line (with or without leading `- `).
|
|
68
|
+
|
|
69
|
+
If **## Release notes** is missing, add it before **## Contributing** first, then run the script.
|
|
70
|
+
|
|
71
|
+
Fallback: manually insert at the top of **## Release notes**:
|
|
72
|
+
|
|
73
|
+
```markdown
|
|
74
|
+
### NEW_VERSION — YYYY-MM-DD
|
|
75
|
+
|
|
76
|
+
- …
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
And sync the version badge: `version-NEW_VERSION` in the shields.io img (line ~21).
|
|
80
|
+
|
|
81
|
+
### 6. Verify CLI
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npm run test:cli
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Stop on failure; do not publish.
|
|
88
|
+
|
|
89
|
+
### 7. Publish
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npm publish --access public
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
If npm prompts for **OTP**, the maintainer enters it in the terminal.
|
|
96
|
+
|
|
97
|
+
On **403 / cannot publish over previously published versions**: bump with `npm version patch --no-git-tag-version` and retry (each semver can only be published once).
|
|
98
|
+
|
|
99
|
+
### 8. Report
|
|
100
|
+
|
|
101
|
+
Tell the maintainer:
|
|
102
|
+
|
|
103
|
+
- Published version (from `package.json`)
|
|
104
|
+
- https://www.npmjs.com/package/class-ai-agent
|
|
105
|
+
|
|
106
|
+
**Do not** `git commit`, tag, or push unless the maintainer separately asks.
|
|
107
|
+
|
|
108
|
+
## Maintainer quick reference
|
|
109
|
+
|
|
110
|
+
| Step | Command / action |
|
|
111
|
+
|------|------------------|
|
|
112
|
+
| Draft | `git log <tag>..HEAD --pretty=format:'- %s (%h)'` |
|
|
113
|
+
| Approve | Maintainer edits bullets in chat |
|
|
114
|
+
| Bump | `npm version patch --no-git-tag-version` |
|
|
115
|
+
| README | `npm run release:readme -- --version … --notes-file …` |
|
|
116
|
+
| Test | `npm run test:cli` |
|
|
117
|
+
| Publish | `npm publish --access public` |
|
|
118
|
+
|
|
119
|
+
See also [README — Publishing to npm](../../README.md#publishing-to-npm-maintainers) and [README — Release notes](../../README.md#release-notes).
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: resume
|
|
3
|
+
description: Start-of-session — load .agent/SESSION.md and continue prior work
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# /resume — Continue prior work
|
|
7
|
+
|
|
8
|
+
> "Read the map before you move."
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
Load cross-tool handoff state and continue work from a previous agent session without re-discovering context.
|
|
13
|
+
|
|
14
|
+
## When to use
|
|
15
|
+
|
|
16
|
+
- Starting a new chat on the same feature
|
|
17
|
+
- Switching tools (Cursor ↔ Claude Code ↔ Kiro)
|
|
18
|
+
- User says "continue", "pick up where we left off", or "resume"
|
|
19
|
+
- After pulling a branch that includes an updated `.agent/SESSION.md`
|
|
20
|
+
|
|
21
|
+
## Prerequisites
|
|
22
|
+
|
|
23
|
+
- **`.agent/SESSION.md`** exists in the project root
|
|
24
|
+
- If missing: run `npx class-ai-agent` or copy `.agent/SESSION.template.md` → `.agent/SESSION.md`
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
### Phase 1: Load handoff (read-only first)
|
|
29
|
+
|
|
30
|
+
Read in this order:
|
|
31
|
+
|
|
32
|
+
1. **`.agent/SESSION.md`** — goal, done, in progress, next, decisions, gotchas, pointers
|
|
33
|
+
2. **`tasks/todo.md`** — if referenced in Pointers
|
|
34
|
+
3. **`SPEC.md`** or path from Pointers — if in spec/plan/build phase
|
|
35
|
+
|
|
36
|
+
> Do **not** edit code until Phase 3 plan is stated to the user.
|
|
37
|
+
|
|
38
|
+
### Phase 2: Sanity check
|
|
39
|
+
|
|
40
|
+
From SESSION **Gotchas** and **Pointers**, run quick checks when noted:
|
|
41
|
+
|
|
42
|
+
- `git status` — uncommitted work matches SESSION?
|
|
43
|
+
- Build/test commands listed in Gotchas — run if stale or uncertain
|
|
44
|
+
- Branch matches Pointers
|
|
45
|
+
|
|
46
|
+
If SESSION reports **blockers** or broken build, surface them before implementing.
|
|
47
|
+
|
|
48
|
+
### Phase 3: State plan to user
|
|
49
|
+
|
|
50
|
+
Reply with a short structured summary:
|
|
51
|
+
|
|
52
|
+
```markdown
|
|
53
|
+
## Resuming
|
|
54
|
+
|
|
55
|
+
**Goal:** [from SESSION]
|
|
56
|
+
**Phase:** [spec | plan | build | test | review | debug]
|
|
57
|
+
**Last updated:** [Meta date] via [tool/persona]
|
|
58
|
+
|
|
59
|
+
### Already done
|
|
60
|
+
- ...
|
|
61
|
+
|
|
62
|
+
### In progress
|
|
63
|
+
- ...
|
|
64
|
+
|
|
65
|
+
### Next (this session)
|
|
66
|
+
1. ...
|
|
67
|
+
|
|
68
|
+
### Risks / blockers
|
|
69
|
+
- ...
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Ask for confirmation only if SESSION is ambiguous or blockers need a decision.
|
|
73
|
+
|
|
74
|
+
### Phase 4: Continue workflow
|
|
75
|
+
|
|
76
|
+
| Phase in SESSION | Command to follow |
|
|
77
|
+
|------------------|-------------------|
|
|
78
|
+
| spec | `/spec` (refine) or `/plan` if spec is done |
|
|
79
|
+
| plan | `/plan` or `/build` if plan exists |
|
|
80
|
+
| build | `/build` |
|
|
81
|
+
| test | `/test` |
|
|
82
|
+
| review | `/review` |
|
|
83
|
+
| debug | `/debug` |
|
|
84
|
+
|
|
85
|
+
Update **Meta** in `.agent/SESSION.md` when you change phase or tool.
|
|
86
|
+
|
|
87
|
+
### Phase 5: During work
|
|
88
|
+
|
|
89
|
+
- After meaningful progress, update SESSION **Done** / **In progress** / **Next**
|
|
90
|
+
- End session with **`/handoff`**
|
|
91
|
+
|
|
92
|
+
## If SESSION is empty or stale
|
|
93
|
+
|
|
94
|
+
1. Survey repo: `git log`, `tasks/todo.md`, open PRs
|
|
95
|
+
2. Rebuild SESSION from evidence
|
|
96
|
+
3. Ask user to confirm goal and next steps
|
|
97
|
+
4. Run `/handoff` when aligned
|
|
98
|
+
|
|
99
|
+
## Output
|
|
100
|
+
|
|
101
|
+
- Resumption summary (Phase 3)
|
|
102
|
+
- Explicit next action (first item from **Next**)
|
|
103
|
+
- No code changes until plan is stated (unless user asked for a specific fix)
|
|
104
|
+
|
|
105
|
+
## Next step
|
|
106
|
+
|
|
107
|
+
Execute the first **Next** item using the appropriate workflow command (`/build`, etc.).
|
package/.cursor/commands/spec.md
CHANGED
|
@@ -89,7 +89,8 @@ After discovery, produce `SPEC.md` with these sections:
|
|
|
89
89
|
|
|
90
90
|
- `SPEC.md` — The specification document
|
|
91
91
|
- Clear alignment on what to build
|
|
92
|
+
- **`.agent/SESSION.md`** — Initialize or update: set Meta `phase` to `plan`, **Goal**, **Pointers** → spec path, **Next** → run `/plan`
|
|
92
93
|
|
|
93
94
|
## Next Step
|
|
94
95
|
|
|
95
|
-
After spec is approved, run `/plan` to decompose into tasks.
|
|
96
|
+
After spec is approved, run `/plan` to decompose into tasks. Run `/handoff` if ending the session before planning.
|
package/.cursor/mcp.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"codegraph": {
|
|
4
|
+
"command": "npx",
|
|
5
|
+
"args": [
|
|
6
|
+
"-y",
|
|
7
|
+
"@colbymchenry/codegraph",
|
|
8
|
+
"serve",
|
|
9
|
+
"--mcp",
|
|
10
|
+
"--path",
|
|
11
|
+
"${workspaceFolder}"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
"supabase": {
|
|
15
|
+
"type": "http",
|
|
16
|
+
"url": "https://mcp.supabase.com/mcp?features=docs"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Agent continuity — quick reference
|
|
2
|
+
|
|
3
|
+
## Files
|
|
4
|
+
|
|
5
|
+
| Path | Role |
|
|
6
|
+
|------|------|
|
|
7
|
+
| `.agent/SESSION.md` | Live handoff (commit to git) |
|
|
8
|
+
| `.agent/SESSION.template.md` | Schema reference |
|
|
9
|
+
| `.agent/README.md` | Human overview |
|
|
10
|
+
| `tasks/todo.md` | Task checklist (workflow) |
|
|
11
|
+
| `SPEC.md` | Feature spec (workflow) |
|
|
12
|
+
|
|
13
|
+
## Commands
|
|
14
|
+
|
|
15
|
+
| Command | When |
|
|
16
|
+
|---------|------|
|
|
17
|
+
| **`/resume`** | Start of session — read SESSION, summarize, continue |
|
|
18
|
+
| **`/handoff`** | End of session — write SESSION, sync tasks |
|
|
19
|
+
|
|
20
|
+
## Read order (resume)
|
|
21
|
+
|
|
22
|
+
1. `.agent/SESSION.md`
|
|
23
|
+
2. `tasks/todo.md`
|
|
24
|
+
3. Linked spec from SESSION Pointers
|
|
25
|
+
|
|
26
|
+
## Install
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
npx class-ai-agent
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Creates `.agent/` and seeds `SESSION.md` from template.
|
|
33
|
+
|
|
34
|
+
## Rules
|
|
35
|
+
|
|
36
|
+
- **Cursor:** `.cursor/rules/agent-continuity.mdc` (`alwaysApply`)
|
|
37
|
+
- **Claude:** `.claude/rules/agent-continuity.md`
|
|
38
|
+
- **Kiro:** `.kiro/steering/agent-continuity.md` (`inclusion: always`)
|
|
39
|
+
|
|
40
|
+
## Skill
|
|
41
|
+
|
|
42
|
+
`.cursor/skills/agent-continuity/SKILL.md` — full handoff/resume checklists.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# CodeGraph reference
|
|
2
|
+
|
|
3
|
+
[CodeGraph](https://github.com/colbymchenry/codegraph) is a local, tree-sitter–parsed knowledge graph exposed to agents via MCP. **class-ai-agent** installs Cursor and Kiro MCP wiring plus usage rules, and runs `codegraph init -i` after scaffolding.
|
|
4
|
+
|
|
5
|
+
## Cursor (included with class-ai-agent)
|
|
6
|
+
|
|
7
|
+
| Item | Path |
|
|
8
|
+
|------|------|
|
|
9
|
+
| MCP config | `.cursor/mcp.json` |
|
|
10
|
+
| Usage rules | `.cursor/rules/codegraph.mdc` |
|
|
11
|
+
| Index (generated) | `.codegraph/` (gitignored) |
|
|
12
|
+
|
|
13
|
+
1. Reload the Cursor window after install so MCP connects.
|
|
14
|
+
2. Confirm **CodeGraph** appears under MCP in Cursor settings.
|
|
15
|
+
3. Use `codegraph_*` tools for structural questions; grep/read for literal text.
|
|
16
|
+
|
|
17
|
+
**Manual index:** `npx @colbymchenry/codegraph init -i`
|
|
18
|
+
|
|
19
|
+
**Skip auto-index on install:** `CODEGRAPH_SKIP_INIT=1 npx class-ai-agent`
|
|
20
|
+
|
|
21
|
+
## Kiro (included with class-ai-agent)
|
|
22
|
+
|
|
23
|
+
| Item | Path |
|
|
24
|
+
|------|------|
|
|
25
|
+
| MCP config | `.kiro/settings/mcp.json` |
|
|
26
|
+
| Usage rules | `.kiro/steering/codegraph.md` |
|
|
27
|
+
| Index (generated) | `.codegraph/` (gitignored) |
|
|
28
|
+
|
|
29
|
+
1. Restart Kiro after install so MCP connects.
|
|
30
|
+
2. Confirm **CodeGraph** under MCP in Kiro IDE or CLI settings.
|
|
31
|
+
3. Use `codegraph_*` tools for structural questions.
|
|
32
|
+
|
|
33
|
+
See `.kiro/references/codegraph.md` for full notes.
|
|
34
|
+
|
|
35
|
+
## Claude Code
|
|
36
|
+
|
|
37
|
+
Project scaffolding does **not** add Claude MCP config. Install CodeGraph globally for Claude Code:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npx @colbymchenry/codegraph
|
|
41
|
+
# or: npm i -g @colbymchenry/codegraph
|
|
42
|
+
codegraph install --target=claude --yes
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Then in each project: `codegraph init -i` (or rely on class-ai-agent’s post-install init for the shared `.codegraph/` index).
|
|
46
|
+
|
|
47
|
+
See the [CodeGraph README](https://github.com/colbymchenry/codegraph) for tools, troubleshooting, and benchmarks.
|
|
48
|
+
|
|
49
|
+
## Requirements
|
|
50
|
+
|
|
51
|
+
- **Node 20+** recommended for CodeGraph (class-ai-agent CLI itself supports Node 16.7+).
|
|
52
|
+
- First index can take a minute on large repos; progress prints during `npx class-ai-agent` install.
|
|
53
|
+
|
|
54
|
+
## Tool parameters
|
|
55
|
+
|
|
56
|
+
| Tool | Pass | Not |
|
|
57
|
+
|------|------|-----|
|
|
58
|
+
| `codegraph_search` | `query`, optional `limit` | — |
|
|
59
|
+
| `codegraph_context` | **`task`** (natural-language area), optional **`maxNodes`** | `query`, `limit` |
|
|
60
|
+
|
|
61
|
+
Example — wrong (search-style args on context):
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{ "query": "auth flow", "limit": 15 }
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
→ `Error: task must be a non-empty string`
|
|
68
|
+
|
|
69
|
+
Example — correct:
|
|
70
|
+
|
|
71
|
+
```json
|
|
72
|
+
{ "task": "how authentication flow works", "maxNodes": 15 }
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Session handoff** (`/resume`, `.agent/SESSION.md`) is not a CodeGraph call — read those files with the editor Read tool.
|
|
76
|
+
|
|
77
|
+
## Troubleshooting
|
|
78
|
+
|
|
79
|
+
| Issue | Action |
|
|
80
|
+
|-------|--------|
|
|
81
|
+
| `task must be a non-empty string` | Use `task` (not `query`) on `codegraph_context`; use `maxNodes` (not `limit`). For `/resume`, read `.agent/SESSION.md` instead. |
|
|
82
|
+
| MCP “not initialized” | Run `npx @colbymchenry/codegraph init -i` in project root |
|
|
83
|
+
| MCP not connecting | Reload Cursor; verify `.cursor/mcp.json`; test `npx @colbymchenry/codegraph serve --mcp` |
|
|
84
|
+
| Stale symbols after edit | Wait ~2s for watcher sync, or check staleness banner in tool output |
|
|
85
|
+
| Init failed during install | Run `npx @colbymchenry/codegraph init -i` manually |
|
|
86
|
+
|
|
87
|
+
Upstream: [colbymchenry/codegraph](https://github.com/colbymchenry/codegraph)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Supabase reference
|
|
2
|
+
|
|
3
|
+
[class-ai-agent](https://github.com/khoantd/class-ai-agent) bundles official [Supabase Agent Skills](https://github.com/supabase/agent-skills) and wires the **Supabase MCP** server for Cursor and Kiro.
|
|
4
|
+
|
|
5
|
+
## Skills
|
|
6
|
+
|
|
7
|
+
| Skill | Use when |
|
|
8
|
+
|-------|----------|
|
|
9
|
+
| `supabase` | Any Supabase product work: Database, Auth, Edge Functions, Realtime, Storage, CLI, MCP, migrations, RLS, `supabase-js`, `@supabase/ssr` |
|
|
10
|
+
| `supabase-postgres-best-practices` | SQL, schema design, indexes, pooling, RLS performance, query review |
|
|
11
|
+
|
|
12
|
+
Paths: `.cursor/skills/supabase/`, `.cursor/skills/supabase-postgres-best-practices/` (and `.claude/skills/`, `.kiro/skills/` after install).
|
|
13
|
+
|
|
14
|
+
Invoke with **`@`** mention or let the agent load them when the task matches. See each skill’s `SKILL.md` for security checklists and workflow.
|
|
15
|
+
|
|
16
|
+
**Maintainers:** refresh vendored copies with `npm run sync:supabase-skills` (pin in `scripts/supabase-skills.lock.json`).
|
|
17
|
+
|
|
18
|
+
## MCP (Cursor & Kiro)
|
|
19
|
+
|
|
20
|
+
| Tool | MCP config |
|
|
21
|
+
|------|------------|
|
|
22
|
+
| Cursor | `.cursor/mcp.json` → `mcpServers.supabase` |
|
|
23
|
+
| Kiro | `.kiro/settings/mcp.json` → `mcpServers.supabase` |
|
|
24
|
+
|
|
25
|
+
Server URL: `https://mcp.supabase.com/mcp?features=docs` (HTTP, OAuth 2.1).
|
|
26
|
+
|
|
27
|
+
### After install
|
|
28
|
+
|
|
29
|
+
1. **Reload** Cursor or **restart** Kiro so MCP servers connect.
|
|
30
|
+
2. On first use, complete **OAuth** in the browser when prompted (Supabase account).
|
|
31
|
+
3. Health check (expect `401` without a token — server is up):
|
|
32
|
+
```bash
|
|
33
|
+
curl -so /dev/null -w "%{http_code}" "https://mcp.supabase.com/mcp"
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Useful MCP tools include `search_docs`, `list_projects`, `list_tables`, `execute_sql`, `get_advisors`, `get_logs`, and migration helpers. Prefer `search_docs` over guessing API behavior.
|
|
37
|
+
|
|
38
|
+
**Note:** Upstream skill text may refer to a project-root `.mcp.json`. In this scaffold, Supabase MCP lives only under `.cursor/mcp.json` and `.kiro/settings/mcp.json` — do not add a duplicate root `.mcp.json`.
|
|
39
|
+
|
|
40
|
+
## Claude Code
|
|
41
|
+
|
|
42
|
+
Skills install to `.claude/skills/`. Claude Code does not get MCP from this package by default. Options:
|
|
43
|
+
|
|
44
|
+
- [Supabase MCP setup](https://supabase.com/docs/guides/getting-started/mcp)
|
|
45
|
+
- [Supabase plugin for Claude Code](https://github.com/supabase/agent-skills)
|
|
46
|
+
|
|
47
|
+
## Secrets
|
|
48
|
+
|
|
49
|
+
Never commit service role keys, secret keys, or project tokens. Use environment variables per `.cursor/rules/security.mdc` (and `.claude/rules/security.md`, `.kiro/steering/security.md`).
|
|
50
|
+
|
|
51
|
+
## Learn more
|
|
52
|
+
|
|
53
|
+
- [Supabase AI skills docs](https://supabase.com/docs/guides/ai-tools/ai-skills)
|
|
54
|
+
- [Upstream repository](https://github.com/supabase/agent-skills)
|
|
55
|
+
- [THIRD_PARTY_NOTICES.md](../../THIRD_PARTY_NOTICES.md) — license and pinned version
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: "Agent session continuity — cross-tool handoff via .agent/SESSION.md"
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agent continuity
|
|
7
|
+
|
|
8
|
+
Cross-tool handoff lives in **`.agent/SESSION.md`** (committed). Cursor, Claude Code, and Kiro agents share this file.
|
|
9
|
+
|
|
10
|
+
## Session start
|
|
11
|
+
|
|
12
|
+
1. If **`.agent/SESSION.md`** exists, read it **before** planning or editing code.
|
|
13
|
+
2. When the user says **continue**, **resume**, or **pick up**, use **`.cursor/commands/resume.md`** (or equivalent in `.claude/` / `.kiro/`).
|
|
14
|
+
3. Then read **`tasks/todo.md`** and linked **SPEC** paths from SESSION **Pointers**.
|
|
15
|
+
|
|
16
|
+
**Do not** call `codegraph_context` with `query` / `limit` for session resume — that tool requires **`task`** and is for code symbols, not handoff state. For continuity, **Read** `.agent/SESSION.md` (and `tasks/todo.md`); use `codegraph_context` only when you need structural code context for the work described in SESSION.
|
|
17
|
+
|
|
18
|
+
## Session end and phase changes
|
|
19
|
+
|
|
20
|
+
1. Update **`.agent/SESSION.md`** before ending a session or switching tools — use **`.cursor/commands/handoff.md`** when possible.
|
|
21
|
+
2. Keep **Done**, **In progress**, and **Next** accurate; do not leave stale **In progress** items.
|
|
22
|
+
3. Sync **`tasks/todo.md`** checkboxes when tasks change.
|
|
23
|
+
|
|
24
|
+
## Security (SESSION.md)
|
|
25
|
+
|
|
26
|
+
**Never** store in `.agent/SESSION.md`:
|
|
27
|
+
|
|
28
|
+
- API keys, passwords, tokens, credentials
|
|
29
|
+
- PII or customer data
|
|
30
|
+
|
|
31
|
+
Use issue links, commit SHAs, and file paths instead.
|
|
32
|
+
|
|
33
|
+
## Workflow integration
|
|
34
|
+
|
|
35
|
+
| Phase | SESSION `phase` value |
|
|
36
|
+
|-------|------------------------|
|
|
37
|
+
| Spec | `spec` |
|
|
38
|
+
| Plan | `plan` |
|
|
39
|
+
| Build | `build` |
|
|
40
|
+
| Test | `test` |
|
|
41
|
+
| Review | `review` |
|
|
42
|
+
| Debug | `debug` |
|
|
43
|
+
|
|
44
|
+
Set **Meta → Tool** to `cursor`, `claude`, or `kiro` as appropriate.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: CodeGraph MCP usage guide — when to use which tool
|
|
3
|
+
alwaysApply: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## CodeGraph
|
|
7
|
+
|
|
8
|
+
This project has a CodeGraph MCP server (`codegraph_*` tools) configured. CodeGraph is a tree-sitter-parsed knowledge graph of every symbol, edge, and file. Reads are sub-millisecond and return structural information grep cannot.
|
|
9
|
+
|
|
10
|
+
### When to prefer codegraph over native search
|
|
11
|
+
|
|
12
|
+
Use codegraph for **structural** questions — what calls what, what would break, where is X defined, what is X's signature. Use native grep/read only for **literal text** queries (string contents, comments, log messages) or after you already have a specific file open.
|
|
13
|
+
|
|
14
|
+
| Question | Tool |
|
|
15
|
+
|---|---|
|
|
16
|
+
| "Where is X defined?" / "Find symbol named X" | `codegraph_search` |
|
|
17
|
+
| "What calls function Y?" | `codegraph_callers` |
|
|
18
|
+
| "What does Y call?" | `codegraph_callees` |
|
|
19
|
+
| "How does X reach/become Y? / trace the flow from X to Y" | `codegraph_trace` (one call = the whole path, incl. callback/React/JSX dynamic hops) |
|
|
20
|
+
| "What would break if I changed Z?" | `codegraph_impact` |
|
|
21
|
+
| "Show me Y's signature / source / docstring" | `codegraph_node` |
|
|
22
|
+
| "Give me focused context for a task/area" | `codegraph_context` |
|
|
23
|
+
| "See several related symbols' source at once" | `codegraph_explore` |
|
|
24
|
+
| "What files exist under path/" | `codegraph_files` |
|
|
25
|
+
| "Is the index healthy?" | `codegraph_status` |
|
|
26
|
+
|
|
27
|
+
### Tool parameters (do not mix)
|
|
28
|
+
|
|
29
|
+
| Tool | Required arg | Optional cap | Wrong args → error |
|
|
30
|
+
|------|--------------|--------------|-------------------|
|
|
31
|
+
| `codegraph_search` | **`query`** (symbol name) | `limit` (default 10) | — |
|
|
32
|
+
| `codegraph_context` | **`task`** (feature/bug description) | `maxNodes` (default 20) | `query` / `limit` → **`task must be a non-empty string`** |
|
|
33
|
+
|
|
34
|
+
`codegraph_context` is for **code structure** around a task — not for loading **`.agent/SESSION.md`** or `/resume` handoff (use **Read** + `.cursor/commands/resume.md`).
|
|
35
|
+
|
|
36
|
+
### Rules of thumb
|
|
37
|
+
|
|
38
|
+
- **Answer directly — don't delegate exploration.** For "how does X work" / architecture questions, answer with 2-3 codegraph calls: `codegraph_context` first, then ONE `codegraph_explore` for the source of the symbols it surfaces. For a specific **flow** ("how does X reach Y") start with `codegraph_trace` from→to — one call returns the whole path with dynamic hops bridged — then ONE `codegraph_explore` for the bodies; don't rebuild the path with `codegraph_search` + `codegraph_callers`. Codegraph IS the pre-built index, so spawning a separate file-reading sub-task/agent — or running a grep + read loop — repeats work codegraph already did and costs more for the same answer.
|
|
39
|
+
- **Trust codegraph results.** They come from a full AST parse. Do NOT re-verify them with grep — that's slower, less accurate, and wastes context.
|
|
40
|
+
- **Don't grep first** when looking up a symbol by name. `codegraph_search` is faster and returns kind + location + signature in one call.
|
|
41
|
+
- **Don't chain `codegraph_search` + `codegraph_node`** when you just want context — `codegraph_context` is one call.
|
|
42
|
+
- **Don't loop `codegraph_node` over many symbols** — one `codegraph_explore` call returns several symbols' source grouped in a single capped call, while each separate node/Read call re-reads the whole context and costs far more.
|
|
43
|
+
- **Index lag — check the staleness banner, don't guess a wait.** When a codegraph response starts with "⚠️ Some files referenced below were edited since the last index sync…", the listed files are pending re-index — Read those specific files for accurate content. Files NOT in that banner are fresh and codegraph is authoritative for them. `codegraph_status` also lists pending files under "Pending sync".
|
|
44
|
+
|
|
45
|
+
### If `.codegraph/` doesn't exist
|
|
46
|
+
|
|
47
|
+
The MCP server returns "not initialized." Ask the user: *"I notice this project doesn't have CodeGraph initialized. Want me to run `codegraph init -i` to build the index?"*
|
|
@@ -18,18 +18,25 @@ Use the same phase order as in `.cursor/CURSOR.md`:
|
|
|
18
18
|
5. **Review** — `.cursor/commands/review.md` (five-axis: `.cursor/skills/code-review/`)
|
|
19
19
|
6. **Ship** — `.cursor/commands/deploy.md`
|
|
20
20
|
|
|
21
|
-
Supporting prompts: `debug`, `simplify`, `fix-issue` in `.cursor/commands/`.
|
|
21
|
+
Supporting prompts: `debug`, `simplify`, `fix-issue`, `handoff`, `resume` in `.cursor/commands/`. Maintainers: `publish-npm` (say **push to npm repo** to draft README release notes and publish).
|
|
22
|
+
|
|
23
|
+
**Agent continuity:** committed **`.agent/SESSION.md`** — read at session start (`/resume`), update at end (`/handoff`). See **`.cursor/rules/agent-continuity.mdc`**.
|
|
22
24
|
|
|
23
25
|
## Mandatory standards
|
|
24
26
|
|
|
25
27
|
- Follow **`.cursor/rules/`** (`.mdc`). **`security.mdc`** is always applied; other rule files apply when matching globs are in scope (see each file’s frontmatter).
|
|
26
28
|
- Prefer **tests first** and **small vertical slices** (see `.cursor/skills/incremental-implementation/`).
|
|
27
29
|
- Use **`.cursor/references/`** for checklists (security, testing, performance, accessibility).
|
|
30
|
+
- For **structural** code questions (symbols, callers, callees, traces, impact), prefer **CodeGraph** MCP tools (`codegraph_*`) per **`.cursor/rules/codegraph.mdc`** instead of grep/read exploration loops.
|
|
28
31
|
|
|
29
32
|
## Agents (personas)
|
|
30
33
|
|
|
31
34
|
Specialized instructions live in **`.cursor/agents/`**. In Cursor, **@ mention** the file you want (e.g. `@.cursor/agents/code-reviewer.md`) when you need that role.
|
|
32
35
|
|
|
33
|
-
## Relation to `.claude/`
|
|
36
|
+
## Relation to `.claude/` and `.kiro/`
|
|
37
|
+
|
|
38
|
+
- **`.claude/`** — Claude Code
|
|
39
|
+
- **`.cursor/`** — Cursor
|
|
40
|
+
- **`.kiro/`** — Kiro (steering + MCP; sync from `.cursor/` via `npm run sync:kiro`)
|
|
34
41
|
|
|
35
|
-
|
|
42
|
+
Keep all three aligned when you change workflows or standards.
|
|
@@ -23,8 +23,9 @@ globs: "**/*.{ts,tsx,js,jsx,mjs,cjs,json,md,prisma,yml,yaml}"
|
|
|
23
23
|
| **Backend Framework** | Express.js + Node | Fastify | Hapi, Koa |
|
|
24
24
|
| **API Style** | REST (default) | tRPC (fullstack TS) | GraphQL (unless needed) |
|
|
25
25
|
| **Language** | TypeScript (always) | — | Plain JavaScript |
|
|
26
|
-
| **Database** | PostgreSQL |
|
|
26
|
+
| **Database** | PostgreSQL | Supabase (managed Postgres + bundled `supabase` skills) | MySQL (prefer PG) |
|
|
27
27
|
| **ORM** | Prisma | Drizzle | Sequelize, TypeORM |
|
|
28
|
+
| **BaaS (Auth, DB, Storage, Realtime)** | — | Supabase | Firebase |
|
|
28
29
|
| **Cache** | Redis (ioredis) | Upstash Redis | Memcached |
|
|
29
30
|
| **Queue — Simple jobs** | BullMQ (Redis-backed) | — | — |
|
|
30
31
|
| **Queue — Enterprise/Microservices** | RabbitMQ | Kafka (high-throughput streams) | — |
|
package/.cursor/settings.json
CHANGED
|
@@ -4,5 +4,10 @@
|
|
|
4
4
|
"skills_dir": ".cursor/skills",
|
|
5
5
|
"agents_dir": ".cursor/agents",
|
|
6
6
|
"references_dir": ".cursor/references",
|
|
7
|
-
"note": "Parallels .claude/settings.json. Cursor loads .cursor/rules/*.mdc automatically; other paths are for @ mentions and docs."
|
|
7
|
+
"note": "Parallels .claude/settings.json. Cursor loads .cursor/rules/*.mdc automatically; other paths are for @ mentions and docs.",
|
|
8
|
+
"plugins": {
|
|
9
|
+
"supabase": {
|
|
10
|
+
"enabled": true
|
|
11
|
+
}
|
|
12
|
+
}
|
|
8
13
|
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Agent Continuity
|
|
3
|
+
description: Cross-tool session handoff and resume via .agent/SESSION.md
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Agent Continuity Skill
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Keep **Cursor**, **Claude Code**, and **Kiro** aligned on the same in-flight work using committed **`.agent/SESSION.md`**.
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## When to apply
|
|
15
|
+
|
|
16
|
+
| Situation | Action |
|
|
17
|
+
|-----------|--------|
|
|
18
|
+
| New chat, same feature | **Resume** — read SESSION first |
|
|
19
|
+
| End of session | **Handoff** — update SESSION |
|
|
20
|
+
| Switch IDE/tool | **Handoff** then **Resume** in new tool |
|
|
21
|
+
| Switch persona | Update Meta `persona`; handoff notes for next role |
|
|
22
|
+
| Phase change (plan → build) | Update Meta `phase` |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Handoff checklist
|
|
27
|
+
|
|
28
|
+
- [ ] Meta: date, phase, tool, persona
|
|
29
|
+
- [ ] Goal still accurate (one paragraph)
|
|
30
|
+
- [ ] Done: bullets with paths/commits
|
|
31
|
+
- [ ] In progress + blockers
|
|
32
|
+
- [ ] Next: numbered for next agent
|
|
33
|
+
- [ ] Decisions: non-obvious choices
|
|
34
|
+
- [ ] Gotchas: failures, test commands, env
|
|
35
|
+
- [ ] Pointers: spec, tasks, branch, key files
|
|
36
|
+
- [ ] `tasks/todo.md` synced
|
|
37
|
+
- [ ] No secrets or PII in SESSION
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Resume checklist
|
|
42
|
+
|
|
43
|
+
- [ ] Read `.agent/SESSION.md`
|
|
44
|
+
- [ ] Read `tasks/todo.md` if linked
|
|
45
|
+
- [ ] Read SPEC if linked
|
|
46
|
+
- [ ] `git status` vs SESSION expectations
|
|
47
|
+
- [ ] Run sanity build/test if Gotchas say so
|
|
48
|
+
- [ ] Post resumption summary to user
|
|
49
|
+
- [ ] Execute first **Next** step via workflow command
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## SESSION schema
|
|
54
|
+
|
|
55
|
+
See **`.agent/SESSION.template.md`** for the canonical sections.
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Commands
|
|
60
|
+
|
|
61
|
+
| Command | File |
|
|
62
|
+
|---------|------|
|
|
63
|
+
| `/handoff` | `.cursor/commands/handoff.md` (`.claude/`, `.kiro/`) |
|
|
64
|
+
| `/resume` | `.cursor/commands/resume.md` |
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Optional history
|
|
69
|
+
|
|
70
|
+
Copy SESSION to `.agent/history/YYYY-MM-DD-slug.md` at milestones; commit for audit trail.
|