gsd-ag 1.0.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 (81) hide show
  1. package/.agent/skills/codebase-mapper/SKILL.md +226 -0
  2. package/.agent/skills/context-compressor/SKILL.md +201 -0
  3. package/.agent/skills/context-fetch/SKILL.md +184 -0
  4. package/.agent/skills/context-health-monitor/SKILL.md +105 -0
  5. package/.agent/skills/debugger/SKILL.md +273 -0
  6. package/.agent/skills/empirical-validation/SKILL.md +97 -0
  7. package/.agent/skills/executor/SKILL.md +465 -0
  8. package/.agent/skills/plan-checker/SKILL.md +283 -0
  9. package/.agent/skills/planner/SKILL.md +485 -0
  10. package/.agent/skills/token-budget/SKILL.md +166 -0
  11. package/.agent/skills/verifier/SKILL.md +421 -0
  12. package/.agent/workflows/add-phase.md +96 -0
  13. package/.agent/workflows/add-todo.md +69 -0
  14. package/.agent/workflows/audit-milestone.md +107 -0
  15. package/.agent/workflows/check-todos.md +80 -0
  16. package/.agent/workflows/complete-milestone.md +135 -0
  17. package/.agent/workflows/debug.md +235 -0
  18. package/.agent/workflows/discuss-phase.md +103 -0
  19. package/.agent/workflows/execute.md +325 -0
  20. package/.agent/workflows/health.md +122 -0
  21. package/.agent/workflows/help.md +96 -0
  22. package/.agent/workflows/insert-phase.md +109 -0
  23. package/.agent/workflows/install.md +152 -0
  24. package/.agent/workflows/list-phase-assumptions.md +82 -0
  25. package/.agent/workflows/map.md +394 -0
  26. package/.agent/workflows/new-milestone.md +126 -0
  27. package/.agent/workflows/new-project.md +368 -0
  28. package/.agent/workflows/pause.md +176 -0
  29. package/.agent/workflows/plan-milestone-gaps.md +116 -0
  30. package/.agent/workflows/plan.md +380 -0
  31. package/.agent/workflows/progress.md +90 -0
  32. package/.agent/workflows/quick.md +128 -0
  33. package/.agent/workflows/remove-phase.md +139 -0
  34. package/.agent/workflows/research-phase.md +160 -0
  35. package/.agent/workflows/resume.md +131 -0
  36. package/.agent/workflows/update.md +203 -0
  37. package/.agent/workflows/verify.md +263 -0
  38. package/.agent/workflows/web-search.md +121 -0
  39. package/.agent/workflows/whats-new.md +80 -0
  40. package/.gemini/GEMINI.md +67 -0
  41. package/.gsd/GSD-STYLE.md +272 -0
  42. package/.gsd/PROJECT_RULES.md +256 -0
  43. package/.gsd/adapters/CLAUDE.md +77 -0
  44. package/.gsd/adapters/GEMINI.md +92 -0
  45. package/.gsd/adapters/GPT_OSS.md +130 -0
  46. package/.gsd/docs/model-selection-playbook.md +128 -0
  47. package/.gsd/docs/runbook.md +296 -0
  48. package/.gsd/docs/token-optimization-guide.md +207 -0
  49. package/.gsd/examples/cross-platform.md +99 -0
  50. package/.gsd/examples/multi-wave-workflow.md +256 -0
  51. package/.gsd/examples/quick-reference.md +73 -0
  52. package/.gsd/examples/workflow-example.md +139 -0
  53. package/.gsd/model_capabilities.yaml +108 -0
  54. package/.gsd/templates/DEBUG.md +123 -0
  55. package/.gsd/templates/PLAN.md +90 -0
  56. package/.gsd/templates/RESEARCH.md +75 -0
  57. package/.gsd/templates/SUMMARY.md +103 -0
  58. package/.gsd/templates/UAT.md +168 -0
  59. package/.gsd/templates/VERIFICATION.md +70 -0
  60. package/.gsd/templates/architecture.md +67 -0
  61. package/.gsd/templates/context.md +91 -0
  62. package/.gsd/templates/decisions.md +37 -0
  63. package/.gsd/templates/discovery.md +122 -0
  64. package/.gsd/templates/journal.md +46 -0
  65. package/.gsd/templates/milestone.md +91 -0
  66. package/.gsd/templates/phase-summary.md +52 -0
  67. package/.gsd/templates/project.md +124 -0
  68. package/.gsd/templates/requirements.md +92 -0
  69. package/.gsd/templates/roadmap.md +103 -0
  70. package/.gsd/templates/spec.md +51 -0
  71. package/.gsd/templates/sprint.md +57 -0
  72. package/.gsd/templates/stack.md +62 -0
  73. package/.gsd/templates/state.md +92 -0
  74. package/.gsd/templates/state_snapshot.md +132 -0
  75. package/.gsd/templates/todo.md +32 -0
  76. package/.gsd/templates/token_report.md +79 -0
  77. package/.gsd/templates/user-setup.md +116 -0
  78. package/LICENSE +21 -0
  79. package/README.md +523 -0
  80. package/bin/init.js +117 -0
  81. package/package.json +35 -0
package/README.md ADDED
@@ -0,0 +1,523 @@
1
+ <div align="center">
2
+
3
+ <img src="https://img.shields.io/badge/GSD-for_Antigravity-7B2D8E?style=for-the-badge&logoColor=white" alt="GSD for Antigravity" />
4
+
5
+ # 🚀 Get Shit Done
6
+
7
+ ### A spec-driven, context-engineered development methodology
8
+
9
+ [![License](https://img.shields.io/badge/license-MIT-2196F3?style=flat-square)](LICENSE)
10
+ [![Based on GSD](https://img.shields.io/badge/based%20on-GSD-7B2D8E?style=flat-square)](https://github.com/zeative/gsd-antigravity)
11
+ [![Platform](https://img.shields.io/badge/platform-Windows%20%7C%20Linux%20%7C%20Mac-FF6D00?style=flat-square)](#-cross-platform-support)
12
+ [![Model Agnostic](https://img.shields.io/badge/models-any%20LLM-E91E63?style=flat-square)](#-multi-model-support)
13
+
14
+ <br/>
15
+
16
+ > **Note**: This repository (`zeative/gsd-antigravity.git`) is a custom adaptation built for Zeative Labs, originating from [`zeative/gsd-antigravity`](https://github.com/zeative/gsd-antigravity).
17
+
18
+ <br/>
19
+
20
+ **Stop vibecoding. Start shipping.**
21
+
22
+ *Describe your idea → GSD extracts everything the AI needs → Watch it build correctly.*
23
+
24
+ <br/>
25
+
26
+ [Getting Started](#-getting-started) · [How It Works](#-how-it-works) · [Commands](#-commands-26-total) · [Documentation](#-documentation)
27
+
28
+ </div>
29
+
30
+ ---
31
+
32
+ ## 🧠 The Problem
33
+
34
+ > Vibecoding has a bad reputation — and it deserves it.
35
+
36
+ You describe what you want, AI generates code, and you get **inconsistent garbage** that falls apart at scale.
37
+
38
+ GSD fixes that. It's the **context engineering layer** that makes AI coding reliable.
39
+
40
+ <table>
41
+ <tr>
42
+ <td width="50%">
43
+
44
+ ### ❌ Without GSD
45
+ ```
46
+ "Add a feature"
47
+ → Inconsistent code
48
+ → Bugs everywhere
49
+ → Debug loop
50
+ → Frustration
51
+ ```
52
+
53
+ </td>
54
+ <td width="50%">
55
+
56
+ ### ✅ With GSD
57
+ ```
58
+ "Add a feature"
59
+ → SPEC
60
+ → Plan
61
+ → Atomic execution
62
+ → Verification
63
+ → ✅ Done
64
+ ```
65
+
66
+ </td>
67
+ </tr>
68
+ </table>
69
+
70
+ > **No enterprise roleplay.** No sprint ceremonies, story points, stakeholder syncs, or Jira workflows.
71
+ > Just an incredibly effective system for building cool stuff consistently.
72
+
73
+ ---
74
+
75
+ ## 👤 Who This Is For
76
+
77
+ | | |
78
+ |---|---|
79
+ | 🧑‍💻 **Solo developers** | Using AI coding assistants and need consistency |
80
+ | 👥 **Small teams** | Who want structure without enterprise overhead |
81
+ | 😤 **Anyone** | Tired of AI generating inconsistent garbage |
82
+
83
+ ---
84
+
85
+ ## ⚡ Getting Started
86
+
87
+ **Command Line / Terminal**
88
+
89
+ ```bash
90
+ # 1. Navigate to your project directory
91
+ cd your-project
92
+
93
+ # 2. Initialize GSD
94
+ npx gsd-ag@latest
95
+ ```
96
+ ```
97
+
98
+ Then run `/new-project` and follow the prompts.
99
+
100
+ > [!TIP]
101
+ > You can also use `/install` from a clean project to automate the installation above.
102
+
103
+ ---
104
+
105
+ ## 🔄 How It Works
106
+
107
+ ```mermaid
108
+ graph LR
109
+ A["🆕 /new-project"] --> B["📋 SPEC.md"]
110
+ B --> C["💬 /discuss-phase"]
111
+ C --> D["📐 /plan"]
112
+ D --> E["⚙️ /execute"]
113
+ E --> F["✅ /verify"]
114
+ F --> G{"More\nphases?"}
115
+ G -- Yes --> C
116
+ G -- No --> H["🏁 /complete-milestone"]
117
+
118
+ style A fill:#7B2D8E,color:#fff,stroke:none
119
+ style B fill:#00C853,color:#fff,stroke:none
120
+ style C fill:#2196F3,color:#fff,stroke:none
121
+ style D fill:#FF6D00,color:#fff,stroke:none
122
+ style E fill:#E91E63,color:#fff,stroke:none
123
+ style F fill:#00C853,color:#fff,stroke:none
124
+ style G fill:#FFC107,color:#000,stroke:none
125
+ style H fill:#7B2D8E,color:#fff,stroke:none
126
+ ```
127
+
128
+ | Step | Command | Output |
129
+ |:----:|---------|--------|
130
+ | **1** | `/new-project` | Deep questioning → `SPEC.md` (finalized) |
131
+ | **2** | `/discuss-phase N` | Clarify scope → `CONTEXT.md` |
132
+ | **3** | `/plan N` | Technical discovery → `PLAN.md` with XML tasks |
133
+ | **4** | `/execute N` | Wave-based execution → Atomic commits |
134
+ | **5** | `/verify N` | Must-haves check → Evidence captured |
135
+ | **6** | Repeat | Next phase or `/complete-milestone` |
136
+
137
+ ---
138
+
139
+ ## 🧩 Why It Works
140
+
141
+ ### 📦 Context Engineering
142
+
143
+ The AI is incredibly powerful **if** you give it the context it needs. Most people don't. GSD handles it for you:
144
+
145
+ | File | Role | Icon |
146
+ |------|------|:----:|
147
+ | `SPEC.md` | Project vision, always loaded | 🎯 |
148
+ | `ARCHITECTURE.md` | System understanding | 🏗️ |
149
+ | `ROADMAP.md` | Where you're going, what's done | 🗺️ |
150
+ | `STATE.md` | Decisions, blockers, memory across sessions | 💾 |
151
+ | `PLAN.md` | Atomic tasks with XML structure | 📐 |
152
+ | `SUMMARY.md` | What happened, what changed | 📝 |
153
+
154
+ > Size limits based on where AI quality degrades. Stay under, get consistent excellence.
155
+
156
+ ### 🏷️ XML Prompt Formatting
157
+
158
+ Every plan is structured XML optimized for AI execution:
159
+
160
+ ```xml
161
+ <task type="auto">
162
+ <name>Create login endpoint</name>
163
+ <files>src/app/api/auth/login/route.ts</files>
164
+ <action>
165
+ Use jose for JWT (not jsonwebtoken - CommonJS issues).
166
+ Validate credentials against users table.
167
+ Return httpOnly cookie on success.
168
+ </action>
169
+ <verify>curl -X POST localhost:3000/api/auth/login returns 200 + Set-Cookie</verify>
170
+ <done>Valid credentials return cookie, invalid return 401</done>
171
+ </task>
172
+ ```
173
+
174
+ Precise instructions. No guessing. Verification built in.
175
+
176
+ ### 🌊 Wave-Based Execution
177
+
178
+ Plans are grouped into waves based on dependencies:
179
+
180
+ ```mermaid
181
+ graph TD
182
+ subgraph W1["🌊 Wave 1 — Foundation"]
183
+ T1["Task A"] & T2["Task B"] & T3["Task C"]
184
+ end
185
+ subgraph W2["🌊 Wave 2 — Integration"]
186
+ T4["Task D"] & T5["Task E"]
187
+ end
188
+ subgraph W3["🌊 Wave 3 — Polish"]
189
+ T6["Task F"]
190
+ end
191
+
192
+ W1 --> W2 --> W3
193
+
194
+ style W1 fill:#E3F2FD,stroke:#2196F3,color:#000
195
+ style W2 fill:#FFF3E0,stroke:#FF6D00,color:#000
196
+ style W3 fill:#F3E5F5,stroke:#7B2D8E,color:#000
197
+ style T1 fill:#2196F3,color:#fff,stroke:none
198
+ style T2 fill:#2196F3,color:#fff,stroke:none
199
+ style T3 fill:#2196F3,color:#fff,stroke:none
200
+ style T4 fill:#FF6D00,color:#fff,stroke:none
201
+ style T5 fill:#FF6D00,color:#fff,stroke:none
202
+ style T6 fill:#7B2D8E,color:#fff,stroke:none
203
+ ```
204
+
205
+ Each executor gets **fresh context**. Your main session stays fast.
206
+
207
+ ### 🔗 Atomic Git Commits
208
+
209
+ Each task gets its own commit immediately after completion:
210
+
211
+ ```
212
+ abc123f feat(phase-1): create login endpoint
213
+ def456g feat(phase-1): add password validation
214
+ hij789k feat(phase-1): implement JWT cookie handling
215
+ ```
216
+
217
+ > **Why?** Git bisect finds exact failing task · Each task independently revertable · Clear history for AI in future sessions
218
+
219
+ ### 🔬 Empirical Verification
220
+
221
+ No "trust me, it works." Every verification produces evidence:
222
+
223
+ | Change Type | Evidence Required |
224
+ |:---:|:---:|
225
+ | 🌐 API endpoint | `curl` output |
226
+ | 🖥️ UI change | Screenshot |
227
+ | 🏗️ Build | Command output |
228
+ | 🧪 Tests | Test results |
229
+
230
+ ---
231
+
232
+ ## 🎮 Commands (26 Total)
233
+
234
+ > [!NOTE]
235
+ > Slash commands are typed directly as chat messages (e.g. send `/plan 1`). They are **not** IDE autocomplete features — if your editor shows "nothing found" when pressing `/`, that's normal. Just type the full command and send it.
236
+
237
+ ### 🔵 Core Workflow
238
+
239
+ | Command | Purpose |
240
+ |---------|---------|
241
+ | `/map` | 🏗️ Analyze codebase → `ARCHITECTURE.md` |
242
+ | `/plan [N]` | 📐 Create `PLAN.md` for phase N |
243
+ | `/execute [N]` | ⚙️ Wave-based execution with atomic commits |
244
+ | `/verify [N]` | ✅ Must-haves validation with proof |
245
+ | `/quick [desc]` | ⚡ Fast ad-hoc tasks with tracking |
246
+ | `/debug [desc]` | 🐛 Systematic debugging (3-strike rule) |
247
+
248
+ > **Pro Tip**: Use the `--auto` flag with `/plan` or `/execute` to automatically chain into the next logical workflow without waiting for user input.
249
+
250
+ ### 🟢 Project Setup
251
+
252
+ | Command | Purpose |
253
+ |---------|---------|
254
+ | `/install` | 📦 Install GSD from GitHub |
255
+ | `/new-project` | 🆕 Deep questioning → `SPEC.md` |
256
+ | `/new-milestone` | 🏁 Create milestone with phases |
257
+ | `/complete-milestone` | 🎉 Archive completed milestone |
258
+ | `/audit-milestone` | 🔍 Review milestone quality |
259
+
260
+ ### 🟠 Phase Management
261
+
262
+ | Command | Purpose |
263
+ |---------|---------|
264
+ | `/add-phase` | ➕ Add phase to end of roadmap |
265
+ | `/insert-phase` | 📌 Insert phase (renumbers) |
266
+ | `/remove-phase` | ➖ Remove phase (safety checks) |
267
+ | `/discuss-phase` | 💬 Clarify scope before planning |
268
+ | `/research-phase` | 🔬 Deep technical research |
269
+ | `/list-phase-assumptions` | 📋 Surface planning assumptions |
270
+ | `/plan-milestone-gaps` | 🔧 Create gap closure plans |
271
+
272
+ ### 🟣 Navigation & State
273
+
274
+ | Command | Purpose |
275
+ |---------|---------|
276
+ | `/progress` | 📊 Show current position |
277
+ | `/pause` | ⏸️ Save state for session handoff |
278
+ | `/resume` | ▶️ Restore from last session |
279
+ | `/add-todo` | 📝 Quick capture idea |
280
+ | `/check-todos` | 📋 List pending items |
281
+
282
+ ### 🔴 Utilities
283
+
284
+ | Command | Purpose |
285
+ |---------|---------|
286
+ | `/help` | ❓ Show all available commands |
287
+ | `/health` | 🩺 Validate directory and state integrity |
288
+ | `/web-search` | 🌐 Search the web for decisions |
289
+ | `/whats-new` | 📢 Show recent GSD changes |
290
+ | `/update` | ⬆️ Update GSD to latest version |
291
+
292
+ ---
293
+
294
+ ## 💡 Typical Session
295
+
296
+ ```bash
297
+ /resume # ← Load context from last session
298
+ /progress # ← See where you left off
299
+ /discuss-phase 2 # ← Clarify requirements (optional)
300
+ /plan 2 # ← Plan next phase
301
+ /execute 2 # ← Implement with atomic commits
302
+ /verify 2 # ← Prove it works (screenshots, tests)
303
+ /pause # ← Save state for later
304
+ ```
305
+
306
+ > [!IMPORTANT]
307
+ > GSD forces **planning before coding**. The AI can't write code until `SPEC.md` says `FINALIZED`. This prevents building the wrong thing.
308
+
309
+ ---
310
+
311
+ ## 🔒 Core Rules
312
+
313
+ | | Rule | Why It Matters |
314
+ |:---:|------|----------------|
315
+ | 🔒 | **Planning Lock** | No code until `SPEC.md` is `FINALIZED` — prevents building wrong thing |
316
+ | 💾 | **State Persistence** | Update `STATE.md` after every task — memory across sessions |
317
+ | 🧹 | **Context Hygiene** | 3 failures → state dump → fresh session — prevents circular debugging |
318
+ | ✅ | **Empirical Validation** | Proof required — no "it should work" |
319
+
320
+ ---
321
+
322
+ ## 🌍 Cross-Platform Support
323
+
324
+ All workflow files include **dual syntax** — both PowerShell and Bash commands.
325
+
326
+ | Platform | Instructions |
327
+ |:--------:|:------------:|
328
+ | 🪟 **Windows** | Use PowerShell blocks |
329
+ | 🐧 **Linux / Mac** | Use Bash blocks (may require `jq`) |
330
+
331
+ > Git commands (`git add`, `git commit`, `git tag`) are cross-platform and work identically everywhere.
332
+
333
+ ---
334
+
335
+ ## 🤖 Multi-Model Support
336
+
337
+ GSD is **model-agnostic** — use any LLM that works in your environment.
338
+
339
+ ### Canonical Rules
340
+
341
+ All rules live in [.gsd/PROJECT_RULES.md](.gsd/PROJECT_RULES.md) — the single source of truth.
342
+
343
+ ### Optional Adapters
344
+
345
+ Model-specific enhancements *(optional, never required)*:
346
+
347
+ ```
348
+ .gsd/adapters/
349
+ ├── CLAUDE.md # Extended thinking, effort levels
350
+ ├── GEMINI.md # Flash vs Pro selection
351
+ └── GPT_OSS.md # Function calling, context handling
352
+ ```
353
+
354
+ ### Model Selection by Phase
355
+
356
+ | Phase | Recommended | Why |
357
+ |:-----:|:-----------:|-----|
358
+ | 📋 Planning | Reasoning models | Complex decisions |
359
+ | ⚙️ Implementation | Fast models | Iteration speed |
360
+ | 🐛 Debugging | Reasoning models | Hypothesis testing |
361
+ | 🔍 Review | Long-context models | Full diff analysis |
362
+
363
+ > See [model-selection-playbook.md](.gsd/docs/model-selection-playbook.md) for detailed guidance.
364
+
365
+ ---
366
+
367
+ ## 🔍 Search-First Mode
368
+
369
+ > **Principle:** Search before reading files completely.
370
+
371
+ ### Why?
372
+
373
+ - 🎯 Reduces context pollution
374
+ - ⚡ Faster codebase understanding
375
+ - 🚫 Prevents reading irrelevant code
376
+
377
+ <details>
378
+ <summary><b>Setup (Optional)</b></summary>
379
+
380
+ **PowerShell:**
381
+ ```powershell
382
+ .\scripts\setup_search.ps1 # Checks for ripgrep/fd
383
+ .\scripts\search_repo.ps1 "pattern" # Search wrapper
384
+ ```
385
+
386
+ **Bash:**
387
+ ```bash
388
+ ./.gsd/scripts/setup_search.sh # Checks for ripgrep/fd
389
+ ./.gsd/scripts/search_repo.sh "pattern" # Search wrapper
390
+ ```
391
+
392
+ > **No installation required** — falls back to built-in tools (`Select-String` / `grep`).
393
+
394
+ </details>
395
+
396
+ ### Workflow
397
+
398
+ 1. **Define question** — What are you looking for?
399
+ 2. **Search first** — `.\.gsd\scripts\search_repo.ps1 "keyword"`
400
+ 3. **Evaluate results** — Which files matter?
401
+ 4. **Targeted read** — Only read relevant sections
402
+
403
+ ---
404
+
405
+ ## 💰 Token Optimization
406
+
407
+ > **Principle:** Minimize token consumption while maintaining quality.
408
+
409
+ ### Skills Available
410
+
411
+ | Skill | Purpose |
412
+ |-------|---------|
413
+ | 📊 `token-budget` | Track and manage token usage |
414
+ | 🗜️ `context-compressor` | Compress context for efficiency |
415
+ | 🔍 `context-fetch` | Search-first loading |
416
+ | 🩺 `context-health-monitor` | Detect quality degradation |
417
+
418
+ ### Budget Thresholds
419
+
420
+ | Usage | Status | Action |
421
+ |:-----:|:------:|--------|
422
+ | 0–50% | 🟢 OK | Proceed normally |
423
+ | 50–70% | 🟡 Warning | Compress, use outlines |
424
+ | 70%+ | 🔴 Critical | State dump required |
425
+
426
+ > See [token-optimization-guide.md](.gsd/docs/token-optimization-guide.md) for complete strategies.
427
+
428
+ ---
429
+
430
+ ## 📁 File Structure
431
+
432
+ ```
433
+ 📂 .agent/
434
+ ├── 📂 workflows/ # 25 slash commands
435
+ └── 📂 skills/ # 11 agent specializations
436
+
437
+ 📂 .gemini/
438
+ └── 📄 GEMINI.md # Gemini integration
439
+
440
+ 📂 .gsd/
441
+ ├── 📄 PROJECT_RULES.md # ← Canonical rules (model-agnostic)
442
+ ├── 📄 GSD-STYLE.md # Complete style guide
443
+ ├── 📄 model_capabilities.yaml # Optional capability registry
444
+ ├── 📄 SPEC.md # ← START HERE (finalize first)
445
+ ├── 📄 ROADMAP.md # Phases and progress
446
+ ├── 📄 STATE.md # Session memory
447
+ ├── 📄 ARCHITECTURE.md # System design (/map output)
448
+ ├── 📄 STACK.md # Tech inventory
449
+ ├── 📄 DECISIONS.md # Architecture Decision Records
450
+ ├── 📄 JOURNAL.md # Session log
451
+ ├── 📄 TODO.md # Quick capture
452
+ ├── 📂 templates/ # Document templates
453
+ ├── 📂 examples/ # Usage walkthroughs
454
+ ├── 📂 adapters/ # Optional model-specific enhancements
455
+ │ ├── 📄 CLAUDE.md
456
+ │ ├── 📄 GEMINI.md
457
+ │ └── 📄 GPT_OSS.md
458
+ ├── 📂 docs/ # Operational documentation
459
+ │ ├── 📄 model-selection-playbook.md
460
+ │ └── 📄 runbook.md
461
+ └── 📂 scripts/ # Utility scripts
462
+ └── 📄 search_repo.ps1/.sh # Search wrapper
463
+ ├── 📄 setup_search.ps1/.sh # Search tool setup
464
+ ```
465
+
466
+
467
+
468
+ ---
469
+
470
+ ## 📚 Documentation
471
+
472
+ | Resource | Description |
473
+ |----------|-------------|
474
+ | [PROJECT_RULES.md](.gsd/PROJECT_RULES.md) | Canonical model-agnostic rules |
475
+ | [GSD-STYLE.md](.gsd/GSD-STYLE.md) | Complete style and conventions guide |
476
+ | [Model Selection Playbook](.gsd/docs/model-selection-playbook.md) | Model selection guidance |
477
+ | [Runbook](.gsd/docs/runbook.md) | Operational procedures |
478
+ | [Token Optimization Guide](.gsd/docs/token-optimization-guide.md) | Token efficiency strategies |
479
+ | [Examples](.gsd/examples/) | Usage walkthroughs and quick reference |
480
+ | [Templates](.gsd/templates/) | Document templates for plans, verification |
481
+
482
+ ---
483
+
484
+ ## 🧠 Philosophy
485
+
486
+ <table>
487
+ <tr>
488
+ <td>🎯</td><td><b>Plan before building</b> — <code>SPEC.md</code> matters more than you think</td>
489
+ </tr>
490
+ <tr>
491
+ <td>🧹</td><td><b>Fresh context > polluted context</b> — State dumps prevent hallucinations</td>
492
+ </tr>
493
+ <tr>
494
+ <td>🔬</td><td><b>Proof over trust</b> — Screenshots and command outputs, not "looks right"</td>
495
+ </tr>
496
+ <tr>
497
+ <td>⚛️</td><td><b>Aggressive atomicity</b> — 2–3 tasks per plan, atomic commits</td>
498
+ </tr>
499
+ <tr>
500
+ <td>🔍</td><td><b>Search before reading</b> — Don't load files blindly</td>
501
+ </tr>
502
+ <tr>
503
+ <td>💰</td><td><b>Token-efficient</b> — Every token counts</td>
504
+ </tr>
505
+ <tr>
506
+ <td>🤖</td><td><b>Model-agnostic</b> — Works with any capable LLM</td>
507
+ </tr>
508
+ <tr>
509
+ <td>🚫</td><td><b>No enterprise theater</b> — Solo dev + AI workflow only</td>
510
+ </tr>
511
+ </table>
512
+
513
+ ---
514
+
515
+ <div align="center">
516
+
517
+ <sub>Adapted from <a href="https://github.com/zeative/gsd-antigravity">zeative/gsd-antigravity</a> for Google Antigravity</sub>
518
+
519
+ <br/>
520
+
521
+ [![GitHub](https://img.shields.io/badge/GitHub-zeative-181717?style=flat-square&logo=github)](https://github.com/zeative/gsd-antigravity)
522
+
523
+ </div>
package/bin/init.js ADDED
@@ -0,0 +1,117 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+ const { execSync } = require('child_process');
6
+
7
+ // Colors for terminal output
8
+ const cyan = '\x1b[36m';
9
+ const green = '\x1b[32m';
10
+ const yellow = '\x1b[33m';
11
+ const red = '\x1b[31m';
12
+ const dim = '\x1b[2m';
13
+ const reset = '\x1b[0m';
14
+
15
+ const banner = '\n' +
16
+ cyan + ' ██████╗ ███████╗██████╗\n' +
17
+ ' ██╔════╝ ██╔════╝██╔══██╗\n' +
18
+ ' ██║ ███╗███████╗██║ ██║\n' +
19
+ ' ██║ ██║╚════██║██║ ██║\n' +
20
+ ' ╚██████╔╝███████║██████╔╝\n' +
21
+ ' ╚═════╝ ╚══════╝╚═════╝' + reset + '\n' +
22
+ '\n' +
23
+ ' Get Shit Done \u2014 Antigravity Edition\n' +
24
+ ' A prompt-driven, spec-first methodology engineered for Google Gemini.\n';
25
+
26
+ console.log(banner);
27
+
28
+ const sourceDir = path.join(__dirname, '..');
29
+ const targetDir = process.cwd();
30
+
31
+ // Directories to copy
32
+ const dirsToCopy = ['.gsd', '.agent', '.gemini'];
33
+
34
+ // Helper function to copy recursively
35
+ function copyRecursively(src, dest) {
36
+ if (!fs.existsSync(src)) {
37
+ console.log(` ${yellow}⚠ Skipping ${path.basename(src)} (not found in package)${reset}`);
38
+ return;
39
+ }
40
+
41
+ if (!fs.existsSync(dest)) {
42
+ fs.mkdirSync(dest, { recursive: true });
43
+ }
44
+
45
+ const entries = fs.readdirSync(src, { withFileTypes: true });
46
+
47
+ for (const entry of entries) {
48
+ const srcPath = path.join(src, entry.name);
49
+ const destPath = path.join(dest, entry.name);
50
+
51
+ if (entry.isDirectory()) {
52
+ copyRecursively(srcPath, destPath);
53
+ } else {
54
+ fs.copyFileSync(srcPath, destPath);
55
+ }
56
+ }
57
+ }
58
+
59
+ // Ensure the directory is empty or the user provides the force flag
60
+ const args = process.argv.slice(2);
61
+ const force = args.includes('--force') || args.includes('-f');
62
+ const help = args.includes('--help') || args.includes('-h');
63
+
64
+ if (help) {
65
+ console.log(` ${yellow}Usage:${reset} npx gsd-ag [options]\n`);
66
+ console.log(` ${yellow}Options:${reset}`);
67
+ console.log(` ${cyan}-f, --force${reset} Overwrite existing GSD configurations if present`);
68
+ console.log(` ${cyan}-h, --help${reset} Show this help message\n`);
69
+ process.exit(0);
70
+ }
71
+
72
+ let existingConflict = false;
73
+ for (const dir of dirsToCopy) {
74
+ if (fs.existsSync(path.join(targetDir, dir))) {
75
+ existingConflict = true;
76
+ break;
77
+ }
78
+ }
79
+
80
+ if (existingConflict && !force) {
81
+ console.log(` ${red}✖ Target project already contains GSD configurations.${reset}`);
82
+ console.log(` Run with ${cyan}--force${reset} to overwrite them.\n`);
83
+ process.exit(1);
84
+ }
85
+
86
+ console.log(` ${dim}Initializing GSD Antigravity environment...${reset}\n`);
87
+
88
+ // Start copy
89
+ try {
90
+ let copiedCount = 0;
91
+ for (const dir of dirsToCopy) {
92
+ const srcPath = path.join(sourceDir, dir);
93
+ const destPath = path.join(targetDir, dir);
94
+
95
+ if (fs.existsSync(srcPath)) {
96
+ copyRecursively(srcPath, destPath);
97
+ console.log(` ${green}✓${reset} Created ${cyan}${dir}/${reset} templates`);
98
+ copiedCount++;
99
+ }
100
+ }
101
+
102
+ if (copiedCount === 0) {
103
+ console.log(` ${red}✖ Failed to find GSD templates. Ensure you are running via npx gsd-ag@latest.${reset}\n`);
104
+ process.exit(1);
105
+ }
106
+
107
+ console.log(`\n ${green}Success! Get Shit Done architecture is initialized.${reset}`);
108
+ console.log(`\n ${yellow}Next Steps:${reset}`);
109
+ console.log(` 1. Open the project in Google Antigravity`);
110
+ console.log(` 2. Type ${cyan}/plan${reset} to begin planning your first milestone`);
111
+ console.log(` 3. Refer to ${cyan}.gsd/PROJECT_RULES.md${reset} for canonical instructions\n`);
112
+
113
+ } catch (error) {
114
+ console.error(`\n ${red}✖ Error initializing project:${reset}`);
115
+ console.error(error);
116
+ process.exit(1);
117
+ }
package/package.json ADDED
@@ -0,0 +1,35 @@
1
+ {
2
+ "name": "gsd-ag",
3
+ "version": "1.0.0",
4
+ "description": "Initialize a GSD (Get Shit Done) architecture for Google Antigravity projects",
5
+ "main": "bin/init.js",
6
+ "bin": {
7
+ "gsd-ag": "bin/init.js"
8
+ },
9
+ "scripts": {
10
+ "test": "echo \"Error: no test specified\" && exit 1"
11
+ },
12
+ "files": [
13
+ "bin",
14
+ ".gsd",
15
+ ".agent",
16
+ ".gemini"
17
+ ],
18
+ "keywords": [
19
+ "gsd",
20
+ "antigravity",
21
+ "gemini",
22
+ "get-shit-done",
23
+ "ai-agent",
24
+ "spec-driven-development"
25
+ ],
26
+ "author": "zeative",
27
+ "license": "MIT",
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "git+https://github.com/zeative/gsd-antigravity.git"
31
+ },
32
+ "engines": {
33
+ "node": ">=18.0.0"
34
+ }
35
+ }