class-ai-agent 1.4.1 → 1.5.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.
Files changed (130) hide show
  1. package/.agent/README.md +10 -5
  2. package/.agent/rules/agent-continuity.md +44 -0
  3. package/.agent/rules/antigravity-overview.md +38 -0
  4. package/.agent/rules/api-conventions.md +85 -0
  5. package/.agent/rules/clean-code.md +211 -0
  6. package/.agent/rules/code-style.md +92 -0
  7. package/.agent/rules/codegraph.md +47 -0
  8. package/.agent/rules/database.md +66 -0
  9. package/.agent/rules/error-handling.md +98 -0
  10. package/.agent/rules/git-workflow.md +83 -0
  11. package/.agent/rules/monitoring.md +317 -0
  12. package/.agent/rules/naming-conventions.md +266 -0
  13. package/.agent/rules/project-structure.md +71 -0
  14. package/.agent/rules/security.md +95 -0
  15. package/.agent/rules/system-design.md +168 -0
  16. package/.agent/rules/tech-stack.md +463 -0
  17. package/.agent/rules/testing.md +110 -0
  18. package/.agents/agents/backend.md +395 -0
  19. package/.agents/agents/business-analyst.md +380 -0
  20. package/.agents/agents/code-reviewer.md +110 -0
  21. package/.agents/agents/copywriter-seo.md +236 -0
  22. package/.agents/agents/frontend.md +384 -0
  23. package/.agents/agents/project-manager.md +201 -0
  24. package/.agents/agents/qa.md +221 -0
  25. package/.agents/agents/security-auditor.md +143 -0
  26. package/.agents/agents/systems-architect.md +211 -0
  27. package/.agents/agents/test-engineer.md +123 -0
  28. package/.agents/agents/ui-ux-designer.md +210 -0
  29. package/.agents/references/accessibility-checklist.md +174 -0
  30. package/.agents/references/agent-continuity.md +42 -0
  31. package/.agents/references/codegraph.md +90 -0
  32. package/.agents/references/mcp-antigravity.md +71 -0
  33. package/.agents/references/performance-checklist.md +150 -0
  34. package/.agents/references/security-checklist.md +94 -0
  35. package/.agents/references/supabase.md +55 -0
  36. package/.agents/references/testing-patterns.md +183 -0
  37. package/.agents/skills/agent-continuity/SKILL.md +70 -0
  38. package/.agents/skills/code-review/SKILL.md +208 -0
  39. package/.agents/skills/deploy/SKILL.md +68 -0
  40. package/.agents/skills/deploy/deploy.md +735 -0
  41. package/.agents/skills/incremental-implementation/SKILL.md +210 -0
  42. package/.agents/skills/security-review/SKILL.md +71 -0
  43. package/.agents/skills/supabase/SKILL.md +135 -0
  44. package/.agents/skills/supabase/UPSTREAM.md +16 -0
  45. package/.agents/skills/supabase/assets/feedback-issue-template.md +17 -0
  46. package/.agents/skills/supabase/references/skill-feedback.md +17 -0
  47. package/.agents/skills/supabase-postgres-best-practices/SKILL.md +64 -0
  48. package/.agents/skills/supabase-postgres-best-practices/UPSTREAM.md +16 -0
  49. package/.agents/skills/supabase-postgres-best-practices/references/_contributing.md +170 -0
  50. package/.agents/skills/supabase-postgres-best-practices/references/_sections.md +39 -0
  51. package/.agents/skills/supabase-postgres-best-practices/references/_template.md +34 -0
  52. package/.agents/skills/supabase-postgres-best-practices/references/advanced-full-text-search.md +55 -0
  53. package/.agents/skills/supabase-postgres-best-practices/references/advanced-jsonb-indexing.md +49 -0
  54. package/.agents/skills/supabase-postgres-best-practices/references/conn-idle-timeout.md +46 -0
  55. package/.agents/skills/supabase-postgres-best-practices/references/conn-limits.md +44 -0
  56. package/.agents/skills/supabase-postgres-best-practices/references/conn-pooling.md +41 -0
  57. package/.agents/skills/supabase-postgres-best-practices/references/conn-prepared-statements.md +46 -0
  58. package/.agents/skills/supabase-postgres-best-practices/references/data-batch-inserts.md +54 -0
  59. package/.agents/skills/supabase-postgres-best-practices/references/data-n-plus-one.md +53 -0
  60. package/.agents/skills/supabase-postgres-best-practices/references/data-pagination.md +50 -0
  61. package/.agents/skills/supabase-postgres-best-practices/references/data-upsert.md +50 -0
  62. package/.agents/skills/supabase-postgres-best-practices/references/lock-advisory.md +56 -0
  63. package/.agents/skills/supabase-postgres-best-practices/references/lock-deadlock-prevention.md +68 -0
  64. package/.agents/skills/supabase-postgres-best-practices/references/lock-short-transactions.md +50 -0
  65. package/.agents/skills/supabase-postgres-best-practices/references/lock-skip-locked.md +54 -0
  66. package/.agents/skills/supabase-postgres-best-practices/references/monitor-explain-analyze.md +45 -0
  67. package/.agents/skills/supabase-postgres-best-practices/references/monitor-pg-stat-statements.md +55 -0
  68. package/.agents/skills/supabase-postgres-best-practices/references/monitor-vacuum-analyze.md +55 -0
  69. package/.agents/skills/supabase-postgres-best-practices/references/query-composite-indexes.md +44 -0
  70. package/.agents/skills/supabase-postgres-best-practices/references/query-covering-indexes.md +40 -0
  71. package/.agents/skills/supabase-postgres-best-practices/references/query-index-types.md +48 -0
  72. package/.agents/skills/supabase-postgres-best-practices/references/query-missing-indexes.md +43 -0
  73. package/.agents/skills/supabase-postgres-best-practices/references/query-partial-indexes.md +45 -0
  74. package/.agents/skills/supabase-postgres-best-practices/references/schema-constraints.md +80 -0
  75. package/.agents/skills/supabase-postgres-best-practices/references/schema-data-types.md +46 -0
  76. package/.agents/skills/supabase-postgres-best-practices/references/schema-foreign-key-indexes.md +59 -0
  77. package/.agents/skills/supabase-postgres-best-practices/references/schema-lowercase-identifiers.md +55 -0
  78. package/.agents/skills/supabase-postgres-best-practices/references/schema-partitioning.md +55 -0
  79. package/.agents/skills/supabase-postgres-best-practices/references/schema-primary-keys.md +61 -0
  80. package/.agents/skills/supabase-postgres-best-practices/references/security-privileges.md +54 -0
  81. package/.agents/skills/supabase-postgres-best-practices/references/security-rls-basics.md +50 -0
  82. package/.agents/skills/supabase-postgres-best-practices/references/security-rls-performance.md +63 -0
  83. package/.agents/skills/tdd/SKILL.md +217 -0
  84. package/.agents/skills/ui-ux-pro-max/SKILL.md +288 -0
  85. package/.agents/skills/ui-ux-pro-max/data/charts.csv +26 -0
  86. package/.agents/skills/ui-ux-pro-max/data/colors.csv +97 -0
  87. package/.agents/skills/ui-ux-pro-max/data/icons.csv +101 -0
  88. package/.agents/skills/ui-ux-pro-max/data/landing.csv +31 -0
  89. package/.agents/skills/ui-ux-pro-max/data/products.csv +97 -0
  90. package/.agents/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
  91. package/.agents/skills/ui-ux-pro-max/data/stacks/astro.csv +54 -0
  92. package/.agents/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  93. package/.agents/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  94. package/.agents/skills/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  95. package/.agents/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  96. package/.agents/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  97. package/.agents/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  98. package/.agents/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  99. package/.agents/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
  100. package/.agents/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  101. package/.agents/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  102. package/.agents/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  103. package/.agents/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  104. package/.agents/skills/ui-ux-pro-max/data/styles.csv +68 -0
  105. package/.agents/skills/ui-ux-pro-max/data/typography.csv +58 -0
  106. package/.agents/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  107. package/.agents/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  108. package/.agents/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
  109. package/.agents/skills/ui-ux-pro-max/scripts/core.py +253 -0
  110. package/.agents/skills/ui-ux-pro-max/scripts/design_system.py +1067 -0
  111. package/.agents/skills/ui-ux-pro-max/scripts/search.py +114 -0
  112. package/.agents/workflows/build.md +132 -0
  113. package/.agents/workflows/debug.md +242 -0
  114. package/.agents/workflows/deploy.md +43 -0
  115. package/.agents/workflows/fix-issue.md +45 -0
  116. package/.agents/workflows/handoff.md +93 -0
  117. package/.agents/workflows/plan.md +125 -0
  118. package/.agents/workflows/publish-npm.md +122 -0
  119. package/.agents/workflows/resume.md +106 -0
  120. package/.agents/workflows/review.md +53 -0
  121. package/.agents/workflows/simplify.md +221 -0
  122. package/.agents/workflows/spec.md +95 -0
  123. package/.agents/workflows/test.md +213 -0
  124. package/.cursor/rules/cursor-overview.mdc +3 -2
  125. package/.kiro/steering/kiro-overview.md +2 -2
  126. package/AGENTS.md +4 -1
  127. package/GEMINI.md +152 -0
  128. package/README.md +52 -15
  129. package/bin/class-ai-agent.cjs +85 -9
  130. package/package.json +9 -4
@@ -0,0 +1,213 @@
1
+ ---
2
+ description: "Write tests using TDD patterns — tests are proof of correctness"
3
+ ---
4
+
5
+ # /test — Test-Driven Development
6
+
7
+ > "Tests are proof, not afterthought."
8
+
9
+ ## Purpose
10
+
11
+ Write tests that prove code works correctly. Use the RED-GREEN-REFACTOR cycle for new features and the Prove-It pattern for bug fixes.
12
+
13
+ ## For New Features: RED-GREEN-REFACTOR
14
+
15
+ ### RED: Write Failing Test First
16
+
17
+ ```javascript
18
+ describe('UserService.findById', () => {
19
+ it('should return user when found', async () => {
20
+ // Arrange
21
+ const userId = 'user-123';
22
+
23
+ // Act
24
+ const user = await userService.findById(userId);
25
+
26
+ // Assert
27
+ expect(user).toBeDefined();
28
+ expect(user.id).toBe(userId);
29
+ });
30
+
31
+ it('should throw NotFoundError when user does not exist', async () => {
32
+ await expect(userService.findById('non-existent'))
33
+ .rejects.toThrow(NotFoundError);
34
+ });
35
+ });
36
+ ```
37
+
38
+ Run tests — **they should fail** (proves nothing is implemented yet).
39
+
40
+ ### GREEN: Write Minimal Code to Pass
41
+
42
+ ```javascript
43
+ async findById(id: string): Promise<User> {
44
+ const user = await this.db.user.findUnique({ where: { id } });
45
+ if (!user) throw new NotFoundError('User not found');
46
+ return user;
47
+ }
48
+ ```
49
+
50
+ Run tests — **they should pass**.
51
+
52
+ ### REFACTOR: Improve While Green
53
+
54
+ Clean up code while keeping tests passing:
55
+ - Better naming
56
+ - Extract helpers
57
+ - Remove duplication
58
+
59
+ ---
60
+
61
+ ## For Bug Fixes: Prove-It Pattern
62
+
63
+ ### Step 1: Write Test That Reproduces the Bug
64
+
65
+ ```javascript
66
+ it('should not duplicate items when adding to cart twice', async () => {
67
+ // This test should FAIL with the current buggy code
68
+ await cart.addItem('product-1', 1);
69
+ await cart.addItem('product-1', 1);
70
+
71
+ expect(cart.items).toHaveLength(1);
72
+ expect(cart.items[0].quantity).toBe(2);
73
+ });
74
+ ```
75
+
76
+ ### Step 2: Verify Test Fails
77
+
78
+ Run the test — confirm it **fails** (proving the bug exists).
79
+
80
+ ### Step 3: Fix the Bug
81
+
82
+ ```javascript
83
+ async addItem(productId: string, quantity: number) {
84
+ const existing = this.items.find(i => i.productId === productId);
85
+ if (existing) {
86
+ existing.quantity += quantity; // Fix: increment instead of duplicate
87
+ } else {
88
+ this.items.push({ productId, quantity });
89
+ }
90
+ }
91
+ ```
92
+
93
+ ### Step 4: Verify Test Passes
94
+
95
+ Run the test — confirm it **passes** (proving the fix works).
96
+
97
+ ### Step 5: Run Full Suite
98
+
99
+ ```bash
100
+ npm test # Ensure no regressions
101
+ ```
102
+
103
+ ---
104
+
105
+ ## Test Pyramid
106
+
107
+ | Level | Percentage | Speed | Scope |
108
+ |-------|------------|-------|-------|
109
+ | **Unit** | 80% | ms | Single function, no I/O |
110
+ | **Integration** | 15% | seconds | API + DB, component interactions |
111
+ | **E2E** | 5% | minutes | Full user flows |
112
+
113
+ ---
114
+
115
+ ## Writing Good Tests
116
+
117
+ ### Arrange-Act-Assert Pattern
118
+
119
+ ```javascript
120
+ it('should calculate total with discount', () => {
121
+ // Arrange — setup
122
+ const cart = new Cart();
123
+ cart.addItem({ price: 100 });
124
+ cart.applyDiscount(10);
125
+
126
+ // Act — execute
127
+ const total = cart.calculateTotal();
128
+
129
+ // Assert — verify
130
+ expect(total).toBe(90);
131
+ });
132
+ ```
133
+
134
+ ### DAMP Over DRY
135
+
136
+ Tests should be **Descriptive And Meaningful Phrases**. Each test reads independently:
137
+
138
+ ```javascript
139
+ // ✅ DAMP — clear and independent
140
+ it('should reject password shorter than 8 characters', () => {
141
+ const result = validatePassword('short');
142
+ expect(result.valid).toBe(false);
143
+ expect(result.error).toBe('Password must be at least 8 characters');
144
+ });
145
+
146
+ // ❌ Too DRY — requires reading shared setup
147
+ it('should reject short password', () => {
148
+ expect(validate(shortPassword)).toBe(false);
149
+ });
150
+ ```
151
+
152
+ ### Descriptive Test Names
153
+
154
+ ```javascript
155
+ // ✅ Good — describes behavior
156
+ 'should return 404 when user is not found'
157
+ 'should increment quantity when adding existing product'
158
+ 'should send welcome email after registration'
159
+
160
+ // ❌ Bad — vague
161
+ 'works correctly'
162
+ 'handles error'
163
+ 'test user'
164
+ ```
165
+
166
+ ### One Behavior Per Test
167
+
168
+ ```javascript
169
+ // ✅ Good — focused
170
+ it('should validate email format', () => { ... });
171
+ it('should require email field', () => { ... });
172
+
173
+ // ❌ Bad — testing multiple things
174
+ it('should validate email', () => {
175
+ expect(validate('')).toBe(false); // required
176
+ expect(validate('bad')).toBe(false); // format
177
+ expect(validate('a@b.c')).toBe(true); // valid
178
+ });
179
+ ```
180
+
181
+ ---
182
+
183
+ ## Test Doubles Preference
184
+
185
+ ```
186
+ 1. Real implementations (best)
187
+ 2. In-memory fakes (test DB, fake filesystem)
188
+ 3. Stubs (canned responses)
189
+ 4. Mocks (verify interactions — use sparingly)
190
+ ```
191
+
192
+ ---
193
+
194
+ ## Anti-Patterns to Avoid
195
+
196
+ | Anti-Pattern | Problem | Fix |
197
+ |--------------|---------|-----|
198
+ | Testing internals | Breaks on refactor | Test inputs/outputs only |
199
+ | Flaky tests | Erodes trust | Use deterministic data, isolate state |
200
+ | Over-mocking | False confidence | Prefer real implementations |
201
+ | Snapshot abuse | Large diffs ignored | Use for rare cases only |
202
+ | Shared state | Tests affect each other | Reset state in beforeEach |
203
+
204
+ ---
205
+
206
+ ## Verification Checklist
207
+
208
+ - [ ] All new behaviors have tests
209
+ - [ ] Bug fixes have reproduction tests
210
+ - [ ] Test names describe behavior
211
+ - [ ] No skipped or disabled tests
212
+ - [ ] Coverage maintained or improved
213
+ - [ ] Full test suite passes
@@ -33,10 +33,11 @@ Supporting prompts: `debug`, `simplify`, `fix-issue`, `handoff`, `resume` in `.c
33
33
 
34
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.
35
35
 
36
- ## Relation to `.claude/` and `.kiro/`
36
+ ## Relation to `.claude/`, `.kiro/`, and Antigravity
37
37
 
38
38
  - **`.claude/`** — Claude Code
39
39
  - **`.cursor/`** — Cursor
40
40
  - **`.kiro/`** — Kiro (steering + MCP; sync from `.cursor/` via `npm run sync:all`)
41
+ - **`.agents/`** + **`GEMINI.md`** — Antigravity (workflows, skills; sync from `.cursor/` via `npm run sync:all`)
41
42
 
42
- Keep all three aligned when you change workflows or standards.
43
+ Keep all four trees aligned when you change workflows or standards. After editing `.cursor/`, run `npm run sync:all`.
@@ -33,6 +33,6 @@ Supporting prompts: `debug`, `simplify`, `fix-issue`, `handoff`, `resume` in `.k
33
33
 
34
34
  Specialized instructions live in **`.kiro/agents/`**. Reference files in chat (paste or attach).
35
35
 
36
- ## Relation to `.claude/` and `.cursor/`
36
+ ## Relation to `.claude/`, `.cursor/`, and Antigravity
37
37
 
38
- Keep all three trees aligned when you change workflows or standards. After editing `.cursor/`, run `npm run sync:all`.
38
+ Keep all four trees aligned when you change workflows or standards. After editing `.cursor/`, run `npm run sync:all`.
package/AGENTS.md CHANGED
@@ -7,6 +7,7 @@ Project guidance for AI coding agents:
7
7
  | **Cursor** | [`.cursor/CURSOR.md`](.cursor/CURSOR.md) |
8
8
  | **Kiro** | [`.kiro/KIRO.md`](.kiro/KIRO.md) |
9
9
  | **Claude Code** | [`.claude/CLAUDE.md`](.claude/CLAUDE.md) |
10
+ | **Antigravity** | [`GEMINI.md`](GEMINI.md) |
10
11
 
11
12
  ## Quick start (any tool)
12
13
 
@@ -22,15 +23,17 @@ Project guidance for AI coding agents:
22
23
  | **Cursor** | `.cursor/CURSOR.md` | `@.cursor/commands/build.md` | `@.cursor/agents/backend.md` |
23
24
  | **Claude Code** | `.claude/CLAUDE.md` | `/build` slash command | reference `.claude/agents/backend.md` |
24
25
  | **Kiro** | `.kiro/KIRO.md` | `.kiro/commands/build.md` (paste or attach) | reference `.kiro/agents/backend.md` |
26
+ | **Antigravity** | `GEMINI.md` | `/build` workflow (`.agents/workflows/build.md`) | reference `.agents/agents/backend.md` |
25
27
 
26
28
  ## Layout
27
29
 
28
30
  - **Cursor:** `.cursor/rules/` (`.mdc`), `.cursor/commands/`, `.cursor/mcp.json`
29
31
  - **Kiro:** `.kiro/steering/` (`*.md`), `.kiro/commands/`, `.kiro/settings/mcp.json`
30
32
  - **Claude Code:** `.claude/rules/`, `.claude/commands/`
33
+ - **Antigravity:** `.agents/workflows/`, `.agents/skills/`, `.agent/rules/`, `GEMINI.md` (MCP: user-level `~/.gemini/antigravity/mcp_config.json`)
31
34
 
32
35
  **Cross-tool continuity:** committed [`.agent/SESSION.md`](.agent/README.md) — use `/resume` at session start and `/handoff` at session end (see hub docs and `.agent/README.md`).
33
36
 
34
37
  ## Maintainers
35
38
 
36
- Keep **`.claude/`**, **`.cursor/`**, and **`.kiro/`** in sync when you change workflows or standards. After editing **`.cursor/`** (canonical), run **`npm run sync:all`** to refresh `.claude/` and `.kiro/`. To refresh vendored Supabase skills from upstream, run **`npm run sync:supabase-skills`**.
39
+ Keep **`.claude/`**, **`.cursor/`**, **`.kiro/`**, and the Antigravity layout in sync when you change workflows or standards. After editing **`.cursor/`** (canonical), run **`npm run sync:all`** to refresh `.claude/`, `.kiro/`, `.agents/`, `.agent/rules/`, and `GEMINI.md`. To refresh vendored Supabase skills from upstream, run **`npm run sync:supabase-skills`**.
package/GEMINI.md ADDED
@@ -0,0 +1,152 @@
1
+ # Antigravity AI agent configuration
2
+
3
+ ## Overview
4
+
5
+ This project uses **Google Antigravity** with the same structured workflows, specialized agent personas, and coding standards as **`.cursor/`**, **`.claude/`**, and **`.kiro/`**. Antigravity-specific files live under **`.agents/`**, **`.agent/rules/`**, and this hub (**`GEMINI.md`**).
6
+
7
+ Root **`AGENTS.md`** provides cross-tool rules read by Antigravity, Cursor, and Claude Code. **`GEMINI.md`** holds Antigravity-specific overrides and takes precedence over `AGENTS.md` when rules conflict.
8
+
9
+ ---
10
+
11
+ ## Development workflow
12
+
13
+ Follow this workflow for feature development:
14
+
15
+ ```
16
+ /spec → /plan → /build → /test → /review → Ship
17
+ ```
18
+
19
+ | Phase | Workflow | Purpose |
20
+ |-------|----------|---------|
21
+ | **Define** | `.agents/workflows/spec.md` (`/spec`) | PRD: objectives, scope, boundaries |
22
+ | **Plan** | `.agents/workflows/plan.md` (`/plan`) | Vertical slices, acceptance criteria |
23
+ | **Build** | `.agents/workflows/build.md` (`/build`) | Incremental implementation, TDD |
24
+ | **Verify** | `.agents/workflows/test.md` (`/test`) | Tests and verification |
25
+ | **Review** | `.agents/workflows/review.md` (`/review`) | Five-axis review before merge |
26
+ | **Ship** | `.agents/workflows/deploy.md` (`/deploy`) | Build, test, deploy |
27
+
28
+ ### Supporting workflows
29
+
30
+ | File | Purpose |
31
+ |------|---------|
32
+ | `workflows/debug.md` (`/debug`) | Systematic diagnosis |
33
+ | `workflows/simplify.md` (`/simplify`) | Reduce complexity, same behavior |
34
+ | `workflows/fix-issue.md` (`/fix-issue`) | Analyze and fix reported issues |
35
+ | `workflows/handoff.md` (`/handoff`) | End session — update `.agent/SESSION.md` for cross-tool continuity |
36
+ | `workflows/resume.md` (`/resume`) | Start session — load `.agent/SESSION.md` and continue prior work |
37
+ | `workflows/publish-npm.md` | **Maintainers:** draft release notes, bump version, update README, publish to npm |
38
+
39
+ **How to use:** Type the slash command (e.g. `/build`) in Antigravity, or open the workflow file and paste/attach in chat.
40
+
41
+ ---
42
+
43
+ ## Core principles
44
+
45
+ - **TDD** — Failing tests first, then implementation (`.agents/skills/tdd/`)
46
+ - **Incremental implementation** — Small vertical slices (`.agents/skills/incremental-implementation/`)
47
+ - **Five-axis review** — Correctness, readability, architecture, security, performance (`.agents/skills/code-review/`)
48
+
49
+ ---
50
+
51
+ ## Mandatory standards (rules)
52
+
53
+ Project standards are **`.agent/rules/*.md`**. They use YAML frontmatter:
54
+
55
+ - **`trigger: always_on`** — Loaded every session (`antigravity-overview.md`, `security.md`, `codegraph.md`, `agent-continuity.md`)
56
+ - **`trigger: glob`** — Loaded when active files match `globs`
57
+ - **`trigger: model_decision`** — Activated by intent (persona rules)
58
+
59
+ | Topic | Rule file |
60
+ |-------|-----------|
61
+ | Clean code, style, errors | `clean-code`, `code-style`, `error-handling` |
62
+ | Stack, structure, APIs | `tech-stack`, `project-structure`, `api-conventions` |
63
+ | Data & naming | `naming-conventions`, `database` |
64
+ | Ops & quality | `security`, `monitoring`, `testing`, `git-workflow`, `system-design` |
65
+ | Code intelligence | `codegraph` (MCP usage; see below) |
66
+ | Agent continuity | `agent-continuity` (`.agent/SESSION.md` handoff) |
67
+
68
+ ---
69
+
70
+ ## Agent continuity
71
+
72
+ Cross-tool handoff lives in **`.agent/SESSION.md`** (committed). Use **`/resume`** at session start and **`/handoff`** at session end when switching chats or tools. See **`.agents/references/agent-continuity.md`** and **`.agent/rules/agent-continuity.md`**.
73
+
74
+ ---
75
+
76
+ ## Code intelligence (CodeGraph)
77
+
78
+ This project includes **[CodeGraph](https://github.com/colbymchenry/codegraph)** for local, structural code search via MCP.
79
+
80
+ | Item | Location |
81
+ |------|----------|
82
+ | MCP server config | `~/.gemini/antigravity/mcp_config.json` (user-level; see `.agents/references/mcp-antigravity.md`) |
83
+ | Usage rules | `.agent/rules/codegraph.md` |
84
+ | Symbol index (generated) | `.codegraph/` (gitignored) |
85
+ | Setup reference | `.agents/references/codegraph.md` |
86
+
87
+ After configuring MCP, **restart Antigravity** so the CodeGraph MCP server connects. Use `codegraph_*` tools for structural questions (callers, callees, traces, impact); use grep/read for literal text in comments or strings.
88
+
89
+ If the index is missing, run `npx @colbymchenry/codegraph init -i` in the project root.
90
+
91
+ ---
92
+
93
+ ## Agent personas
94
+
95
+ Instructions live in **`.agents/agents/`**. Invoke by **referencing** the file (paste or attach in chat).
96
+
97
+ | Area | File |
98
+ |------|------|
99
+ | Frontend, backend, architecture | `frontend.md`, `backend.md`, `systems-architect.md` |
100
+ | Quality | `code-reviewer.md`, `test-engineer.md`, `qa.md`, `security-auditor.md` |
101
+ | Product & content | `business-analyst.md`, `project-manager.md`, `ui-ux-designer.md`, `copywriter-seo.md` |
102
+
103
+ ---
104
+
105
+ ## Skills
106
+
107
+ Reusable playbooks: **`.agents/skills/*/SKILL.md`** (and related `.md` files where present).
108
+
109
+ | Skill | Use for |
110
+ |-------|---------|
111
+ | `tdd` | Red–green–refactor |
112
+ | `code-review` | Five-axis review |
113
+ | `incremental-implementation` | Vertical slices |
114
+ | `deploy` | Deployment pipeline |
115
+ | `security-review` | Security audit |
116
+ | `agent-continuity` | Cross-tool session handoff via `.agent/SESSION.md` |
117
+ | `supabase` | Supabase products, Auth, CLI, MCP, migrations, RLS |
118
+ | `supabase-postgres-best-practices` | Postgres performance, indexes, RLS tuning |
119
+
120
+ ---
121
+
122
+ ## Reference checklists
123
+
124
+ **`.agents/references/`**
125
+
126
+ | File | Use for |
127
+ |------|---------|
128
+ | `security-checklist.md` | Pre-deploy security |
129
+ | `testing-patterns.md` | Test structure |
130
+ | `performance-checklist.md` | Performance |
131
+ | `accessibility-checklist.md` | WCAG-oriented checks |
132
+ | `codegraph.md` | CodeGraph setup (all tools) |
133
+ | `mcp-antigravity.md` | Antigravity MCP config (`mcp_config.json`) |
134
+ | `agent-continuity.md` | Session handoff and `/resume` / `/handoff` |
135
+ | `supabase.md` | Supabase skills, MCP OAuth, secrets |
136
+
137
+ ---
138
+
139
+ ## Config parity
140
+
141
+ Antigravity loads root **`AGENTS.md`**, **`GEMINI.md`**, **`.agent/rules/*.md`**, **`.agents/workflows/`**, and **`.agents/skills/`**. MCP servers are configured in user-level **`~/.gemini/antigravity/mcp_config.json`** — see `.agents/references/mcp-antigravity.md`.
142
+
143
+ ---
144
+
145
+ ## Agent behavior
146
+
147
+ 1. Follow the workflow and use slash commands when starting a phase.
148
+ 2. If **`.agent/SESSION.md`** exists, read it before planning or coding; run **`/resume`** when continuing prior work.
149
+ 3. Apply **`.agent/rules/`**; treat **`security.md`** as non-negotiable.
150
+ 4. Prefer tests first and small, buildable changes.
151
+ 5. **Reference** the right **`.agents/agents/`** file when the task matches that role.
152
+ 6. Update **`.agent/SESSION.md`** (or **`/handoff`**) before ending a session.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # AI Agent Project
2
2
 
3
- **Production-grade configuration for [Claude Code](https://code.claude.com/docs), [Cursor](https://cursor.com), and [Kiro](https://kiro.dev)** — shared rules, specialized agents, workflow prompts, and checklists you can drop into any repository.
3
+ **Production-grade configuration for [Claude Code](https://code.claude.com/docs), [Cursor](https://cursor.com), [Kiro](https://kiro.dev), and [Antigravity](https://antigravity.google)** — shared rules, specialized agents, workflow prompts, and checklists you can drop into any repository.
4
4
 
5
5
  <div align="center">
6
6
 
@@ -18,7 +18,7 @@ Open-source AI agent scaffolding by **Royal Solution** — use it in your own pr
18
18
  <a href="https://www.npmjs.com/package/class-ai-agent"><img src="https://img.shields.io/npm/v/class-ai-agent?label=npm&logo=npm&style=flat-square" alt="npm version" /></a>
19
19
  <img src="https://img.shields.io/badge/node-%3E%3D16.7-339933?logo=node.js&logoColor=white&style=flat-square" alt="Node.js 16.7+" />
20
20
  <img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square" alt="License MIT" />
21
- <img src="https://img.shields.io/badge/version-1.4.1-blue?style=flat-square" alt="Version" />
21
+ <img src="https://img.shields.io/badge/version-1.5.0-blue?style=flat-square" alt="Version" />
22
22
  </p>
23
23
 
24
24
  </div>
@@ -51,15 +51,15 @@ Open-source AI agent scaffolding by **Royal Solution** — use it in your own pr
51
51
 
52
52
  | You get | Details |
53
53
  |--------|---------|
54
- | **Three layouts** | **`.claude/`** (Claude Code), **`.cursor/`** (Cursor), **`.kiro/`** (Kiro steering + MCP) |
54
+ | **Four layouts** | **`.claude/`** (Claude Code), **`.cursor/`** (Cursor), **`.kiro/`** (Kiro), **`.agents/`** + **`GEMINI.md`** (Antigravity) |
55
55
  | **One workflow** | Spec → Plan → Build → Test → Review → Ship |
56
56
  | **11 agent personas** | Frontend, backend, architect, review, QA, security, BA, PM, UX, SEO, test engineer |
57
57
  | **13 topic rules** | Code style, security, API, DB, testing, git, and more (same ideas in both trees) |
58
58
  | **`npx` installer** | Copies the folders into your project in one command |
59
- | **CodeGraph** | MCP + usage rules for Cursor and Kiro; local index via [CodeGraph](https://github.com/colbymchenry/codegraph) |
60
- | **Agent continuity** | Committed **`.agent/SESSION.md`** — `/resume` and `/handoff` across Cursor, Claude Code, and Kiro |
59
+ | **CodeGraph** | MCP + usage rules for Cursor and Kiro; Antigravity via user `mcp_config.json`; local index via [CodeGraph](https://github.com/colbymchenry/codegraph) |
60
+ | **Agent continuity** | Committed **`.agent/SESSION.md`** — `/resume` and `/handoff` across Cursor, Claude Code, Kiro, and Antigravity |
61
61
 
62
- Root **`AGENTS.md`** links hubs: **`.cursor/CURSOR.md`**, **`.kiro/KIRO.md`**, **`.claude/CLAUDE.md`**.
62
+ Root **`AGENTS.md`** links hubs: **`.cursor/CURSOR.md`**, **`.kiro/KIRO.md`**, **`.claude/CLAUDE.md`**, **`GEMINI.md`**.
63
63
 
64
64
  ---
65
65
 
@@ -74,7 +74,7 @@ When one agent stops and another starts (new chat, different IDE, or teammate),
74
74
 
75
75
  **Read order:** `.agent/SESSION.md` → `tasks/todo.md` → `SPEC.md` (from SESSION pointers).
76
76
 
77
- Rules: `.cursor/rules/agent-continuity.mdc`, `.claude/rules/agent-continuity.md`, `.kiro/steering/agent-continuity.md`. Reference: `.cursor/references/agent-continuity.md`.
77
+ Rules: `.cursor/rules/agent-continuity.mdc`, `.claude/rules/agent-continuity.md`, `.kiro/steering/agent-continuity.md`, `.agent/rules/agent-continuity.md`. Reference: `.cursor/references/agent-continuity.md`.
78
78
 
79
79
  Do **not** put secrets or PII in `SESSION.md`. See [`.agent/README.md`](.agent/README.md).
80
80
 
@@ -103,6 +103,7 @@ npx class-ai-agent --dir /path/to/your/project
103
103
  npx class-ai-agent --claude
104
104
  npx class-ai-agent --cursor
105
105
  npx class-ai-agent --kiro
106
+ npx class-ai-agent --antigravity
106
107
  npx class-ai-agent --force # overwrite existing
107
108
  npx class-ai-agent --help
108
109
  ```
@@ -116,7 +117,7 @@ npm exec -- class-ai-agent --dir /path/to/your/project
116
117
  # or: node bin/class-ai-agent.cjs --dir /path/to/your/project
117
118
  ```
118
119
 
119
- **Manual copy:** copy **`.agent/`**, **`.claude/`**, **`.cursor/`**, **`.kiro/`**, and **`AGENTS.md`** into your project root. Copy `.agent/SESSION.template.md` → `.agent/SESSION.md` if needed. Then run `npx @colbymchenry/codegraph init -i` and reload Cursor / restart Kiro.
120
+ **Manual copy:** copy **`.agent/`**, **`.agents/`**, **`.claude/`**, **`.cursor/`**, **`.kiro/`**, **`AGENTS.md`**, and **`GEMINI.md`** into your project root. Copy `.agent/SESSION.template.md` → `.agent/SESSION.md` if needed. Then run `npx @colbymchenry/codegraph init -i` and reload Cursor / restart Kiro / configure Antigravity MCP.
120
121
 
121
122
  ---
122
123
 
@@ -130,21 +131,23 @@ npm exec -- class-ai-agent --dir /path/to/your/project
130
131
  | **Cursor** | `.cursor/mcp.json`, `.cursor/rules/codegraph.mdc` — reload window after install |
131
132
  | **Kiro** | `.kiro/settings/mcp.json`, `.kiro/steering/codegraph.md` — restart Kiro after install |
132
133
  | **Claude Code** | Not wired by this package — `codegraph install --target=claude` (see `.claude/references/codegraph.md`) |
134
+ | **Antigravity** | User `~/.gemini/antigravity/mcp_config.json`, `.agent/rules/codegraph.md` — see `.agents/references/mcp-antigravity.md` |
133
135
  | **Manual index** | `npx @colbymchenry/codegraph init -i` if auto-init failed |
134
- | **Opt-out** | `CODEGRAPH_SKIP_INIT=1` when running `npx class-ai-agent` |
135
136
  | **Troubleshooting** | [CodeGraph README](https://github.com/colbymchenry/codegraph#troubleshooting) · `.cursor/references/codegraph.md` |
137
+ | **Opt-out** | `CODEGRAPH_SKIP_INIT=1` when running `npx class-ai-agent` |
136
138
 
137
139
  ---
138
140
 
139
141
  ## Overview
140
142
 
141
- This repo ships **three parallel trees** so you can use the same habits in Claude Code, Cursor, and Kiro:
143
+ This repo ships **four parallel layouts** so you can use the same habits in Claude Code, Cursor, Kiro, and Antigravity:
142
144
 
143
145
  | Layout | Tool | What you use |
144
146
  |--------|------|----------------|
145
147
  | **`.claude/`** | Claude Code | Slash commands, **`CLAUDE.md`**, rules as **`.md`** |
146
148
  | **`.cursor/`** | Cursor | Project rules as **`.mdc`**, hub **`CURSOR.md`**, **`@`** file mentions |
147
149
  | **`.kiro/`** | Kiro | **Steering** as **`.md`** in `.kiro/steering/`, hub **`KIRO.md`**, **`.kiro/settings/mcp.json`** |
150
+ | **`.agents/`** + **`GEMINI.md`** | Antigravity | **Workflows** in `.agents/workflows/` (slash commands), **`.agent/rules/`**, root **`AGENTS.md`** |
148
151
 
149
152
  What is inside:
150
153
 
@@ -155,9 +158,9 @@ What is inside:
155
158
  - **9 skills** (TDD, code review, incremental implementation, deploy, security review, agent continuity, UI/UX Pro Max, **supabase**, **supabase-postgres-best-practices**)
156
159
  - **7 reference docs** (security, testing, performance, accessibility, codegraph, agent-continuity, **supabase**)
157
160
  - **`.agent/SESSION.md`** for cross-tool session handoff
158
- - **CodeGraph + Supabase MCP** for Cursor and Kiro (`.cursor/mcp.json`, `.kiro/settings/mcp.json`)
161
+ - **CodeGraph + Supabase MCP** for Cursor and Kiro (`.cursor/mcp.json`, `.kiro/settings/mcp.json`); Antigravity via user `mcp_config.json` (example in `.agents/references/mcp-antigravity.md`)
159
162
 
160
- Keep **`.claude/`**, **`.cursor/`**, and **`.kiro/`** in sync when you change standards. After editing `.cursor/` (canonical), run **`npm run sync:all`** to refresh `.claude/` and `.kiro/`.
163
+ Keep **`.claude/`**, **`.cursor/`**, **`.kiro/`**, and the Antigravity layout in sync when you change standards. After editing `.cursor/` (canonical), run **`npm run sync:all`** to refresh `.claude/`, `.kiro/`, `.agents/`, `.agent/rules/`, and `GEMINI.md`.
161
164
 
162
165
  ---
163
166
 
@@ -193,9 +196,32 @@ At session boundaries, use **`/handoff`** before switching tools and **`/resume`
193
196
  .agent/
194
197
  ├── README.md
195
198
  ├── SESSION.md # Live handoff (committed; seeded on install)
196
- └── SESSION.template.md # Schema reference
199
+ ├── SESSION.template.md # Schema reference
200
+ └── rules/ # Antigravity supplement rules (synced from .cursor/rules/)
201
+ ```
202
+
203
+ ### `.agents/` + `GEMINI.md` (Antigravity)
204
+
205
+ Mirrors `.cursor/` for skills, agents, and references. Commands become **workflows** (slash commands):
206
+
207
+ | Item | Role |
208
+ |------|------|
209
+ | **`GEMINI.md`** | Hub (Antigravity-specific; overrides `AGENTS.md` when rules conflict) |
210
+ | **`workflows/*.md`** | Slash-command workflows (`/build`, `/resume`, …) |
211
+ | **`skills/`**, **`agents/`**, **`references/`** | Same content as `.cursor/` (path-rewritten) |
212
+ | **`.agent/rules/`** | Supplement rules (`trigger: always_on` / `glob`) |
213
+
214
+ ```
215
+ .agents/
216
+ ├── workflows/ # 12 workflows (from .cursor/commands/)
217
+ ├── agents/
218
+ ├── skills/
219
+ └── references/ # includes mcp-antigravity.md
220
+ GEMINI.md # Antigravity hub (repo root)
197
221
  ```
198
222
 
223
+ MCP is **user-level**: `~/.gemini/antigravity/mcp_config.json` — see `.agents/references/mcp-antigravity.md`.
224
+
199
225
  ### `.claude/` (Claude Code)
200
226
 
201
227
  ```
@@ -332,7 +358,9 @@ Use **`.claude/rules/*.md`** or **`.cursor/rules/*.mdc`** (paired content; Curso
332
358
 
333
359
  **Kiro** — prompts live under **`.kiro/commands/`**. Open the file, paste or attach in chat, or reference it when running a slash workflow. Restart Kiro after install so MCP (CodeGraph, Supabase) connects.
334
360
 
335
- **Agents** — describe the role in natural language, or **`@`** (Cursor) / reference (Claude, Kiro) an agent file, e.g. `@.cursor/agents/code-reviewer.md` or `.kiro/agents/code-reviewer.md`.
361
+ **Antigravity** — use slash workflows (`/build`, `/spec`, …) or open **`.agents/workflows/*.md`**. Read **`GEMINI.md`** for the hub. Configure MCP via **Manage MCP Servers** (see `.agents/references/mcp-antigravity.md`).
362
+
363
+ **Agents** — describe the role in natural language, or **`@`** (Cursor) / reference (Claude, Kiro, Antigravity) an agent file, e.g. `@.cursor/agents/code-reviewer.md` or `.agents/agents/code-reviewer.md`.
336
364
 
337
365
  ---
338
366
 
@@ -368,6 +396,15 @@ Ship thin end-to-end slices (DB + API + UI), not “all models first, then all r
368
396
 
369
397
 
370
398
 
399
+
400
+
401
+ ### 1.5.0 — 2026-06-17
402
+
403
+ - Add Google Antigravity IDE support: `GEMINI.md` hub, `.agents/` workflows/skills/agents, `.agent/rules/` supplement rules
404
+ - New `sync-antigravity-from-cursor.mjs` wired into `npm run sync:all` with parity checks
405
+ - CLI `--antigravity` flag; safe merge of `.agent/rules/` without overwriting `SESSION.md`
406
+ - MCP setup reference at `.agents/references/mcp-antigravity.md` (user-level `mcp_config.json`)
407
+
371
408
  ### 1.4.1 — 2026-06-17
372
409
 
373
410
  - Add **Business Analyst** agent persona (BABOK v3) for Cursor, Claude Code, and Kiro
@@ -393,7 +430,7 @@ Ship thin end-to-end slices (DB + API + UI), not “all models first, then all r
393
430
  2. Keep tests green.
394
431
  3. Run **`/review`** before opening a PR.
395
432
  4. Use [conventional commits](https://www.conventionalcommits.org/).
396
- 5. Update **`.cursor/`** when rules or workflows change, then run **`npm run sync:all`** to refresh `.claude/` and `.kiro/`; run **`npm run sync:supabase-skills`** to refresh vendored Supabase skills.
433
+ 5. Update **`.cursor/`** when rules or workflows change, then run **`npm run sync:all`** to refresh `.claude/`, `.kiro/`, and Antigravity layout; run **`npm run sync:supabase-skills`** to refresh vendored Supabase skills.
397
434
 
398
435
  ---
399
436