@runchr/gstack-antigravity 0.1.1 → 0.1.3

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.

Potentially problematic release.


This version of @runchr/gstack-antigravity might be problematic. Click here for more details.

Files changed (229) hide show
  1. package/.agents/skills/gstack/.agents/skills/gstack/SKILL.md +651 -0
  2. package/.agents/skills/gstack/.agents/skills/gstack-autoplan/SKILL.md +678 -0
  3. package/.agents/skills/gstack/.agents/skills/gstack-benchmark/SKILL.md +482 -0
  4. package/.agents/skills/gstack/.agents/skills/gstack-browse/SKILL.md +511 -0
  5. package/.agents/skills/gstack/.agents/skills/gstack-canary/SKILL.md +486 -0
  6. package/.agents/skills/gstack/.agents/skills/gstack-careful/SKILL.md +50 -0
  7. package/.agents/skills/gstack/.agents/skills/gstack-cso/SKILL.md +607 -0
  8. package/.agents/skills/gstack/.agents/skills/gstack-design-consultation/SKILL.md +615 -0
  9. package/.agents/skills/gstack/.agents/skills/gstack-design-review/SKILL.md +988 -0
  10. package/.agents/skills/gstack/.agents/skills/gstack-document-release/SKILL.md +604 -0
  11. package/.agents/skills/gstack/.agents/skills/gstack-freeze/SKILL.md +67 -0
  12. package/.agents/skills/gstack/.agents/skills/gstack-guard/SKILL.md +62 -0
  13. package/.agents/skills/gstack/.agents/skills/gstack-investigate/SKILL.md +415 -0
  14. package/.agents/skills/gstack/.agents/skills/gstack-land-and-deploy/SKILL.md +873 -0
  15. package/.agents/skills/gstack/.agents/skills/gstack-office-hours/SKILL.md +986 -0
  16. package/.agents/skills/gstack/.agents/skills/gstack-plan-ceo-review/SKILL.md +1268 -0
  17. package/.agents/skills/gstack/.agents/skills/gstack-plan-design-review/SKILL.md +668 -0
  18. package/.agents/skills/gstack/.agents/skills/gstack-plan-eng-review/SKILL.md +826 -0
  19. package/.agents/skills/gstack/.agents/skills/gstack-qa/SKILL.md +1006 -0
  20. package/.agents/skills/gstack/.agents/skills/gstack-qa-only/SKILL.md +626 -0
  21. package/.agents/skills/gstack/.agents/skills/gstack-retro/SKILL.md +1065 -0
  22. package/.agents/skills/gstack/.agents/skills/gstack-review/SKILL.md +704 -0
  23. package/.agents/skills/gstack/.agents/skills/gstack-setup-browser-cookies/SKILL.md +325 -0
  24. package/.agents/skills/gstack/.agents/skills/gstack-setup-deploy/SKILL.md +450 -0
  25. package/.agents/skills/gstack/.agents/skills/gstack-ship/SKILL.md +1312 -0
  26. package/.agents/skills/gstack/.agents/skills/gstack-unfreeze/SKILL.md +36 -0
  27. package/.agents/skills/gstack/.agents/skills/gstack-upgrade/SKILL.md +220 -0
  28. package/.agents/skills/gstack/.env.example +5 -0
  29. package/.agents/skills/gstack/.github/workflows/skill-docs.yml +17 -0
  30. package/.agents/skills/gstack/AGENTS.md +49 -0
  31. package/.agents/skills/gstack/ARCHITECTURE.md +359 -0
  32. package/.agents/skills/gstack/BROWSER.md +271 -0
  33. package/.agents/skills/gstack/CHANGELOG.md +800 -0
  34. package/.agents/skills/gstack/CLAUDE.md +284 -0
  35. package/.agents/skills/gstack/CONTRIBUTING.md +370 -0
  36. package/.agents/skills/gstack/ETHOS.md +129 -0
  37. package/.agents/skills/gstack/LICENSE +21 -0
  38. package/.agents/skills/gstack/README.md +228 -0
  39. package/.agents/skills/gstack/SKILL.md +657 -0
  40. package/.agents/skills/gstack/SKILL.md.tmpl +281 -0
  41. package/.agents/skills/gstack/TODOS.md +564 -0
  42. package/.agents/skills/gstack/VERSION +1 -0
  43. package/.agents/skills/gstack/autoplan/SKILL.md +689 -0
  44. package/.agents/skills/gstack/autoplan/SKILL.md.tmpl +416 -0
  45. package/.agents/skills/gstack/benchmark/SKILL.md +489 -0
  46. package/.agents/skills/gstack/benchmark/SKILL.md.tmpl +233 -0
  47. package/.agents/skills/gstack/bin/dev-setup +68 -0
  48. package/.agents/skills/gstack/bin/dev-teardown +56 -0
  49. package/.agents/skills/gstack/bin/gstack-analytics +191 -0
  50. package/.agents/skills/gstack/bin/gstack-community-dashboard +113 -0
  51. package/.agents/skills/gstack/bin/gstack-config +38 -0
  52. package/.agents/skills/gstack/bin/gstack-diff-scope +71 -0
  53. package/.agents/skills/gstack/bin/gstack-global-discover.ts +591 -0
  54. package/.agents/skills/gstack/bin/gstack-repo-mode +93 -0
  55. package/.agents/skills/gstack/bin/gstack-review-log +9 -0
  56. package/.agents/skills/gstack/bin/gstack-review-read +12 -0
  57. package/.agents/skills/gstack/bin/gstack-slug +15 -0
  58. package/.agents/skills/gstack/bin/gstack-telemetry-log +158 -0
  59. package/.agents/skills/gstack/bin/gstack-telemetry-sync +127 -0
  60. package/.agents/skills/gstack/bin/gstack-update-check +196 -0
  61. package/.agents/skills/gstack/browse/SKILL.md +517 -0
  62. package/.agents/skills/gstack/browse/SKILL.md.tmpl +141 -0
  63. package/.agents/skills/gstack/browse/bin/find-browse +21 -0
  64. package/.agents/skills/gstack/browse/bin/remote-slug +14 -0
  65. package/.agents/skills/gstack/browse/scripts/build-node-server.sh +48 -0
  66. package/.agents/skills/gstack/browse/src/browser-manager.ts +634 -0
  67. package/.agents/skills/gstack/browse/src/buffers.ts +137 -0
  68. package/.agents/skills/gstack/browse/src/bun-polyfill.cjs +109 -0
  69. package/.agents/skills/gstack/browse/src/cli.ts +420 -0
  70. package/.agents/skills/gstack/browse/src/commands.ts +111 -0
  71. package/.agents/skills/gstack/browse/src/config.ts +150 -0
  72. package/.agents/skills/gstack/browse/src/cookie-import-browser.ts +417 -0
  73. package/.agents/skills/gstack/browse/src/cookie-picker-routes.ts +207 -0
  74. package/.agents/skills/gstack/browse/src/cookie-picker-ui.ts +541 -0
  75. package/.agents/skills/gstack/browse/src/find-browse.ts +61 -0
  76. package/.agents/skills/gstack/browse/src/meta-commands.ts +269 -0
  77. package/.agents/skills/gstack/browse/src/platform.ts +17 -0
  78. package/.agents/skills/gstack/browse/src/read-commands.ts +335 -0
  79. package/.agents/skills/gstack/browse/src/server.ts +369 -0
  80. package/.agents/skills/gstack/browse/src/snapshot.ts +398 -0
  81. package/.agents/skills/gstack/browse/src/url-validation.ts +91 -0
  82. package/.agents/skills/gstack/browse/src/write-commands.ts +352 -0
  83. package/.agents/skills/gstack/browse/test/bun-polyfill.test.ts +72 -0
  84. package/.agents/skills/gstack/browse/test/commands.test.ts +1836 -0
  85. package/.agents/skills/gstack/browse/test/config.test.ts +250 -0
  86. package/.agents/skills/gstack/browse/test/cookie-import-browser.test.ts +397 -0
  87. package/.agents/skills/gstack/browse/test/cookie-picker-routes.test.ts +205 -0
  88. package/.agents/skills/gstack/browse/test/find-browse.test.ts +50 -0
  89. package/.agents/skills/gstack/browse/test/fixtures/basic.html +33 -0
  90. package/.agents/skills/gstack/browse/test/fixtures/cursor-interactive.html +22 -0
  91. package/.agents/skills/gstack/browse/test/fixtures/dialog.html +15 -0
  92. package/.agents/skills/gstack/browse/test/fixtures/empty.html +2 -0
  93. package/.agents/skills/gstack/browse/test/fixtures/forms.html +55 -0
  94. package/.agents/skills/gstack/browse/test/fixtures/qa-eval-checkout.html +108 -0
  95. package/.agents/skills/gstack/browse/test/fixtures/qa-eval-spa.html +98 -0
  96. package/.agents/skills/gstack/browse/test/fixtures/qa-eval.html +51 -0
  97. package/.agents/skills/gstack/browse/test/fixtures/responsive.html +49 -0
  98. package/.agents/skills/gstack/browse/test/fixtures/snapshot.html +55 -0
  99. package/.agents/skills/gstack/browse/test/fixtures/spa.html +24 -0
  100. package/.agents/skills/gstack/browse/test/fixtures/states.html +17 -0
  101. package/.agents/skills/gstack/browse/test/fixtures/upload.html +25 -0
  102. package/.agents/skills/gstack/browse/test/gstack-config.test.ts +125 -0
  103. package/.agents/skills/gstack/browse/test/gstack-update-check.test.ts +467 -0
  104. package/.agents/skills/gstack/browse/test/handoff.test.ts +235 -0
  105. package/.agents/skills/gstack/browse/test/path-validation.test.ts +63 -0
  106. package/.agents/skills/gstack/browse/test/platform.test.ts +37 -0
  107. package/.agents/skills/gstack/browse/test/snapshot.test.ts +467 -0
  108. package/.agents/skills/gstack/browse/test/test-server.ts +57 -0
  109. package/.agents/skills/gstack/browse/test/url-validation.test.ts +72 -0
  110. package/.agents/skills/gstack/canary/SKILL.md +493 -0
  111. package/.agents/skills/gstack/canary/SKILL.md.tmpl +220 -0
  112. package/.agents/skills/gstack/careful/SKILL.md +59 -0
  113. package/.agents/skills/gstack/careful/SKILL.md.tmpl +57 -0
  114. package/.agents/skills/gstack/careful/bin/check-careful.sh +112 -0
  115. package/.agents/skills/gstack/codex/SKILL.md +677 -0
  116. package/.agents/skills/gstack/codex/SKILL.md.tmpl +356 -0
  117. package/.agents/skills/gstack/conductor.json +6 -0
  118. package/.agents/skills/gstack/cso/SKILL.md +615 -0
  119. package/.agents/skills/gstack/cso/SKILL.md.tmpl +376 -0
  120. package/.agents/skills/gstack/design-consultation/SKILL.md +625 -0
  121. package/.agents/skills/gstack/design-consultation/SKILL.md.tmpl +369 -0
  122. package/.agents/skills/gstack/design-review/SKILL.md +998 -0
  123. package/.agents/skills/gstack/design-review/SKILL.md.tmpl +262 -0
  124. package/.agents/skills/gstack/docs/images/github-2013.png +0 -0
  125. package/.agents/skills/gstack/docs/images/github-2026.png +0 -0
  126. package/.agents/skills/gstack/docs/skills.md +877 -0
  127. package/.agents/skills/gstack/document-release/SKILL.md +613 -0
  128. package/.agents/skills/gstack/document-release/SKILL.md.tmpl +357 -0
  129. package/.agents/skills/gstack/freeze/SKILL.md +82 -0
  130. package/.agents/skills/gstack/freeze/SKILL.md.tmpl +80 -0
  131. package/.agents/skills/gstack/freeze/bin/check-freeze.sh +68 -0
  132. package/.agents/skills/gstack/gstack-upgrade/SKILL.md +226 -0
  133. package/.agents/skills/gstack/gstack-upgrade/SKILL.md.tmpl +224 -0
  134. package/.agents/skills/gstack/guard/SKILL.md +82 -0
  135. package/.agents/skills/gstack/guard/SKILL.md.tmpl +80 -0
  136. package/.agents/skills/gstack/investigate/SKILL.md +435 -0
  137. package/.agents/skills/gstack/investigate/SKILL.md.tmpl +196 -0
  138. package/.agents/skills/gstack/land-and-deploy/SKILL.md +880 -0
  139. package/.agents/skills/gstack/land-and-deploy/SKILL.md.tmpl +575 -0
  140. package/.agents/skills/gstack/office-hours/SKILL.md +996 -0
  141. package/.agents/skills/gstack/office-hours/SKILL.md.tmpl +624 -0
  142. package/.agents/skills/gstack/package.json +55 -0
  143. package/.agents/skills/gstack/plan-ceo-review/SKILL.md +1277 -0
  144. package/.agents/skills/gstack/plan-ceo-review/SKILL.md.tmpl +838 -0
  145. package/.agents/skills/gstack/plan-design-review/SKILL.md +676 -0
  146. package/.agents/skills/gstack/plan-design-review/SKILL.md.tmpl +314 -0
  147. package/.agents/skills/gstack/plan-eng-review/SKILL.md +836 -0
  148. package/.agents/skills/gstack/plan-eng-review/SKILL.md.tmpl +279 -0
  149. package/.agents/skills/gstack/qa/SKILL.md +1016 -0
  150. package/.agents/skills/gstack/qa/SKILL.md.tmpl +316 -0
  151. package/.agents/skills/gstack/qa/references/issue-taxonomy.md +85 -0
  152. package/.agents/skills/gstack/qa/templates/qa-report-template.md +126 -0
  153. package/.agents/skills/gstack/qa-only/SKILL.md +633 -0
  154. package/.agents/skills/gstack/qa-only/SKILL.md.tmpl +101 -0
  155. package/.agents/skills/gstack/retro/SKILL.md +1072 -0
  156. package/.agents/skills/gstack/retro/SKILL.md.tmpl +833 -0
  157. package/.agents/skills/gstack/review/SKILL.md +849 -0
  158. package/.agents/skills/gstack/review/SKILL.md.tmpl +259 -0
  159. package/.agents/skills/gstack/review/TODOS-format.md +62 -0
  160. package/.agents/skills/gstack/review/checklist.md +190 -0
  161. package/.agents/skills/gstack/review/design-checklist.md +132 -0
  162. package/.agents/skills/gstack/review/greptile-triage.md +220 -0
  163. package/.agents/skills/gstack/scripts/analytics.ts +190 -0
  164. package/.agents/skills/gstack/scripts/dev-skill.ts +82 -0
  165. package/.agents/skills/gstack/scripts/eval-compare.ts +96 -0
  166. package/.agents/skills/gstack/scripts/eval-list.ts +116 -0
  167. package/.agents/skills/gstack/scripts/eval-select.ts +86 -0
  168. package/.agents/skills/gstack/scripts/eval-summary.ts +187 -0
  169. package/.agents/skills/gstack/scripts/eval-watch.ts +172 -0
  170. package/.agents/skills/gstack/scripts/gen-skill-docs.ts +2414 -0
  171. package/.agents/skills/gstack/scripts/skill-check.ts +167 -0
  172. package/.agents/skills/gstack/setup +269 -0
  173. package/.agents/skills/gstack/setup-browser-cookies/SKILL.md +330 -0
  174. package/.agents/skills/gstack/setup-browser-cookies/SKILL.md.tmpl +74 -0
  175. package/.agents/skills/gstack/setup-deploy/SKILL.md +459 -0
  176. package/.agents/skills/gstack/setup-deploy/SKILL.md.tmpl +220 -0
  177. package/.agents/skills/gstack/ship/SKILL.md +1457 -0
  178. package/.agents/skills/gstack/ship/SKILL.md.tmpl +528 -0
  179. package/.agents/skills/gstack/supabase/config.sh +10 -0
  180. package/.agents/skills/gstack/supabase/functions/community-pulse/index.ts +59 -0
  181. package/.agents/skills/gstack/supabase/functions/telemetry-ingest/index.ts +135 -0
  182. package/.agents/skills/gstack/supabase/functions/update-check/index.ts +37 -0
  183. package/.agents/skills/gstack/supabase/migrations/001_telemetry.sql +89 -0
  184. package/.agents/skills/gstack/test/analytics.test.ts +277 -0
  185. package/.agents/skills/gstack/test/codex-e2e.test.ts +197 -0
  186. package/.agents/skills/gstack/test/fixtures/coverage-audit-fixture.ts +76 -0
  187. package/.agents/skills/gstack/test/fixtures/eval-baselines.json +7 -0
  188. package/.agents/skills/gstack/test/fixtures/qa-eval-checkout-ground-truth.json +43 -0
  189. package/.agents/skills/gstack/test/fixtures/qa-eval-ground-truth.json +43 -0
  190. package/.agents/skills/gstack/test/fixtures/qa-eval-spa-ground-truth.json +43 -0
  191. package/.agents/skills/gstack/test/fixtures/review-eval-design-slop.css +86 -0
  192. package/.agents/skills/gstack/test/fixtures/review-eval-design-slop.html +41 -0
  193. package/.agents/skills/gstack/test/fixtures/review-eval-enum-diff.rb +30 -0
  194. package/.agents/skills/gstack/test/fixtures/review-eval-enum.rb +27 -0
  195. package/.agents/skills/gstack/test/fixtures/review-eval-vuln.rb +14 -0
  196. package/.agents/skills/gstack/test/gemini-e2e.test.ts +173 -0
  197. package/.agents/skills/gstack/test/gen-skill-docs.test.ts +1049 -0
  198. package/.agents/skills/gstack/test/global-discover.test.ts +187 -0
  199. package/.agents/skills/gstack/test/helpers/codex-session-runner.ts +282 -0
  200. package/.agents/skills/gstack/test/helpers/e2e-helpers.ts +239 -0
  201. package/.agents/skills/gstack/test/helpers/eval-store.test.ts +548 -0
  202. package/.agents/skills/gstack/test/helpers/eval-store.ts +689 -0
  203. package/.agents/skills/gstack/test/helpers/gemini-session-runner.test.ts +104 -0
  204. package/.agents/skills/gstack/test/helpers/gemini-session-runner.ts +201 -0
  205. package/.agents/skills/gstack/test/helpers/llm-judge.ts +130 -0
  206. package/.agents/skills/gstack/test/helpers/observability.test.ts +283 -0
  207. package/.agents/skills/gstack/test/helpers/session-runner.test.ts +96 -0
  208. package/.agents/skills/gstack/test/helpers/session-runner.ts +357 -0
  209. package/.agents/skills/gstack/test/helpers/skill-parser.ts +206 -0
  210. package/.agents/skills/gstack/test/helpers/touchfiles.ts +260 -0
  211. package/.agents/skills/gstack/test/hook-scripts.test.ts +373 -0
  212. package/.agents/skills/gstack/test/skill-e2e-browse.test.ts +293 -0
  213. package/.agents/skills/gstack/test/skill-e2e-deploy.test.ts +279 -0
  214. package/.agents/skills/gstack/test/skill-e2e-design.test.ts +614 -0
  215. package/.agents/skills/gstack/test/skill-e2e-plan.test.ts +538 -0
  216. package/.agents/skills/gstack/test/skill-e2e-qa-bugs.test.ts +194 -0
  217. package/.agents/skills/gstack/test/skill-e2e-qa-workflow.test.ts +412 -0
  218. package/.agents/skills/gstack/test/skill-e2e-review.test.ts +535 -0
  219. package/.agents/skills/gstack/test/skill-e2e-workflow.test.ts +586 -0
  220. package/.agents/skills/gstack/test/skill-e2e.test.ts +3325 -0
  221. package/.agents/skills/gstack/test/skill-llm-eval.test.ts +787 -0
  222. package/.agents/skills/gstack/test/skill-parser.test.ts +179 -0
  223. package/.agents/skills/gstack/test/skill-routing-e2e.test.ts +605 -0
  224. package/.agents/skills/gstack/test/skill-validation.test.ts +1520 -0
  225. package/.agents/skills/gstack/test/telemetry.test.ts +278 -0
  226. package/.agents/skills/gstack/test/touchfiles.test.ts +262 -0
  227. package/.agents/skills/gstack/unfreeze/SKILL.md +40 -0
  228. package/.agents/skills/gstack/unfreeze/SKILL.md.tmpl +38 -0
  229. package/package.json +2 -1
@@ -0,0 +1,129 @@
1
+ # gstack Builder Ethos
2
+
3
+ These are the principles that shape how gstack thinks, recommends, and builds.
4
+ They are injected into every workflow skill's preamble automatically. They
5
+ reflect what we believe about building software in 2026.
6
+
7
+ ---
8
+
9
+ ## The Golden Age
10
+
11
+ A single person with AI can now build what used to take a team of twenty.
12
+ The engineering barrier is gone. What remains is taste, judgment, and the
13
+ willingness to do the complete thing.
14
+
15
+ This is not a prediction — it's happening right now. 10,000+ usable lines of
16
+ code per day. 100+ commits per week. Not by a team. By one person, part-time,
17
+ using the right tools. The compression ratio between human-team time and
18
+ AI-assisted time ranges from 3x (research) to 100x (boilerplate):
19
+
20
+ | Task type | Human team | AI-assisted | Compression |
21
+ |-----------------------------|-----------|-------------|-------------|
22
+ | Boilerplate / scaffolding | 2 days | 15 min | ~100x |
23
+ | Test writing | 1 day | 15 min | ~50x |
24
+ | Feature implementation | 1 week | 30 min | ~30x |
25
+ | Bug fix + regression test | 4 hours | 15 min | ~20x |
26
+ | Architecture / design | 2 days | 4 hours | ~5x |
27
+ | Research / exploration | 1 day | 3 hours | ~3x |
28
+
29
+ This table changes everything about how you make build-vs-skip decisions.
30
+ The last 10% of completeness that teams used to skip? It costs seconds now.
31
+
32
+ ---
33
+
34
+ ## 1. Boil the Lake
35
+
36
+ AI-assisted coding makes the marginal cost of completeness near-zero. When
37
+ the complete implementation costs minutes more than the shortcut — do the
38
+ complete thing. Every time.
39
+
40
+ **Lake vs. ocean:** A "lake" is boilable — 100% test coverage for a module,
41
+ full feature implementation, all edge cases, complete error paths. An "ocean"
42
+ is not — rewriting an entire system from scratch, multi-quarter platform
43
+ migrations. Boil lakes. Flag oceans as out of scope.
44
+
45
+ **Completeness is cheap.** When evaluating "approach A (full, ~150 LOC) vs
46
+ approach B (90%, ~80 LOC)" — always prefer A. The 70-line delta costs
47
+ seconds with AI coding. "Ship the shortcut" is legacy thinking from when
48
+ human engineering time was the bottleneck.
49
+
50
+ **Anti-patterns:**
51
+ - "Choose B — it covers 90% with less code." (If A is 70 lines more, choose A.)
52
+ - "Let's defer tests to a follow-up PR." (Tests are the cheapest lake to boil.)
53
+ - "This would take 2 weeks." (Say: "2 weeks human / ~1 hour AI-assisted.")
54
+
55
+ Read more: https://garryslist.org/posts/boil-the-ocean
56
+
57
+ ---
58
+
59
+ ## 2. Search Before Building
60
+
61
+ The 1000x engineer's first instinct is "has someone already solved this?" not
62
+ "let me design it from scratch." Before building anything involving unfamiliar
63
+ patterns, infrastructure, or runtime capabilities — stop and search first.
64
+ The cost of checking is near-zero. The cost of not checking is reinventing
65
+ something worse.
66
+
67
+ ### Three Layers of Knowledge
68
+
69
+ There are three distinct sources of truth when building anything. Understand
70
+ which layer you're operating in:
71
+
72
+ **Layer 1: Tried and true.** Standard patterns, battle-tested approaches,
73
+ things deeply in distribution. You probably already know these. The risk is
74
+ not that you don't know — it's that you assume the obvious answer is right
75
+ when occasionally it isn't. The cost of checking is near-zero. And once in a
76
+ while, questioning the tried-and-true is where brilliance occurs.
77
+
78
+ **Layer 2: New and popular.** Current best practices, blog posts, ecosystem
79
+ trends. Search for these. But scrutinize what you find — humans are subject
80
+ to mania. Mr. Market is either too fearful or too greedy. The crowd can be
81
+ wrong about new things just as easily as old things. Search results are inputs
82
+ to your thinking, not answers.
83
+
84
+ **Layer 3: First principles.** Original observations derived from reasoning
85
+ about the specific problem at hand. These are the most valuable of all. Prize
86
+ them above everything else. The best projects both avoid mistakes (don't
87
+ reinvent the wheel — Layer 1) while also making brilliant observations that
88
+ are out of distribution (Layer 3).
89
+
90
+ ### The Eureka Moment
91
+
92
+ The most valuable outcome of searching is not finding a solution to copy.
93
+ It is:
94
+
95
+ 1. Understanding what everyone is doing and WHY (Layers 1 + 2)
96
+ 2. Applying first-principles reasoning to their assumptions (Layer 3)
97
+ 3. Discovering a clear reason why the conventional approach is wrong
98
+
99
+ This is the 11 out of 10. The truly superlative projects are full of these
100
+ moments — zig while others zag. When you find one, name it. Celebrate it.
101
+ Build on it.
102
+
103
+ **Anti-patterns:**
104
+ - Rolling a custom solution when the runtime has a built-in. (Layer 1 miss)
105
+ - Accepting blog posts uncritically in novel territory. (Layer 2 mania)
106
+ - Assuming tried-and-true is right without questioning premises. (Layer 3 blindness)
107
+
108
+ ---
109
+
110
+ ## How They Work Together
111
+
112
+ Boil the Lake says: **do the complete thing.**
113
+ Search Before Building says: **know what exists before you decide what to build.**
114
+
115
+ Together: search first, then build the complete version of the right thing.
116
+ The worst outcome is building a complete version of something that already
117
+ exists as a one-liner. The best outcome is building a complete version of
118
+ something nobody has thought of yet — because you searched, understood the
119
+ landscape, and saw what everyone else missed.
120
+
121
+ ---
122
+
123
+ ## Build for Yourself
124
+
125
+ The best tools solve your own problem. gstack exists because its creator
126
+ wanted it. Every feature was built because it was needed, not because it
127
+ was requested. If you're building something for yourself, trust that instinct.
128
+ The specificity of a real problem beats the generality of a hypothetical one
129
+ every time.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Garry Tan
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,228 @@
1
+ # gstack
2
+
3
+ > "I don't think I've typed like a line of code probably since December, basically, which is an extremely large change." — [Andrej Karpathy](https://fortune.com/2026/03/21/andrej-karpathy-openai-cofounder-ai-agents-coding-state-of-psychosis-openclaw/), No Priors podcast, March 2026
4
+
5
+ When I heard Karpathy say this, I wanted to find out how. How does one person ship like a team of twenty? Peter Steinberger built [OpenClaw](https://github.com/openclaw/openclaw) — 247K GitHub stars — essentially solo with AI agents. The revolution is here. A single builder with the right tooling can move faster than a traditional team.
6
+
7
+ I'm [Garry Tan](https://x.com/garrytan), President & CEO of [Y Combinator](https://www.ycombinator.com/). I've worked with thousands of startups — Coinbase, Instacart, Rippling — when they were one or two people in a garage. Before YC, I was one of the first eng/PM/designers at Palantir, cofounded Posterous (sold to Twitter), and built Bookface, YC's internal social network.
8
+
9
+ **gstack is my answer.** I've been building products for twenty years, and right now I'm shipping more code than I ever have. In the last 60 days: **600,000+ lines of production code** (35% tests), **10,000-20,000 lines per day**, part-time, while running YC full-time. Here's my last `/retro` across 3 projects: **140,751 lines added, 362 commits, ~115k net LOC** in one week.
10
+
11
+ **2026 — 1,237 contributions and counting:**
12
+
13
+ ![GitHub contributions 2026 — 1,237 contributions, massive acceleration in Jan-Mar](docs/images/github-2026.png)
14
+
15
+ **2013 — when I built Bookface at YC (772 contributions):**
16
+
17
+ ![GitHub contributions 2013 — 772 contributions building Bookface at YC](docs/images/github-2013.png)
18
+
19
+ Same person. Different era. The difference is the tooling.
20
+
21
+ **gstack is how I do it.** It turns Claude Code into a virtual engineering team — a CEO who rethinks the product, an eng manager who locks architecture, a designer who catches AI slop, a reviewer who finds production bugs, a QA lead who opens a real browser, a security officer who runs OWASP + STRIDE audits, and a release engineer who ships the PR. Twenty specialists and eight power tools, all slash commands, all Markdown, all free, MIT license.
22
+
23
+ This is my open source software factory. I use it every day. I'm sharing it because these tools should be available to everyone.
24
+
25
+ Fork it. Improve it. Make it yours. And if you want to hate on free open source software — you're welcome to, but I'd rather you just try it first.
26
+
27
+ **Who this is for:**
28
+ - **Founders and CEOs** — especially technical ones who still want to ship
29
+ - **First-time Claude Code users** — structured roles instead of a blank prompt
30
+ - **Tech leads and staff engineers** — rigorous review, QA, and release automation on every PR
31
+
32
+ ## Quick start
33
+
34
+ 1. Install gstack (30 seconds — see below)
35
+ 2. Run `/office-hours` — describe what you're building
36
+ 3. Run `/plan-ceo-review` on any feature idea
37
+ 4. Run `/review` on any branch with changes
38
+ 5. Run `/qa` on your staging URL
39
+ 6. Stop there. You'll know if this is for you.
40
+
41
+ ## Install — 30 seconds
42
+
43
+ **Requirements:** [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Git](https://git-scm.com/), [Bun](https://bun.sh/) v1.0+, [Node.js](https://nodejs.org/) (Windows only)
44
+
45
+ ### Step 1: Install on your machine
46
+
47
+ Open Claude Code and paste this. Claude does the rest.
48
+
49
+ > Install gstack: run **`git clone https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && ./setup`** then add a "gstack" section to CLAUDE.md that says to use the /browse skill from gstack for all web browsing, never use mcp\_\_claude-in-chrome\_\_\* tools, and lists the available skills: /office-hours, /plan-ceo-review, /plan-eng-review, /plan-design-review, /design-consultation, /review, /ship, /land-and-deploy, /canary, /benchmark, /browse, /qa, /qa-only, /design-review, /setup-browser-cookies, /setup-deploy, /retro, /investigate, /document-release, /codex, /cso, /autoplan, /careful, /freeze, /guard, /unfreeze, /gstack-upgrade. Then ask the user if they also want to add gstack to the current project so teammates get it.
50
+
51
+ ### Step 2: Add to your repo so teammates get it (optional)
52
+
53
+ > Add gstack to this project: run **`cp -Rf ~/.claude/skills/gstack .claude/skills/gstack && rm -rf .claude/skills/gstack/.git && cd .claude/skills/gstack && ./setup`** then add a "gstack" section to this project's CLAUDE.md that says to use the /browse skill from gstack for all web browsing, never use mcp\_\_claude-in-chrome\_\_\* tools, lists the available skills: /office-hours, /plan-ceo-review, /plan-eng-review, /plan-design-review, /design-consultation, /review, /ship, /land-and-deploy, /canary, /benchmark, /browse, /qa, /qa-only, /design-review, /setup-browser-cookies, /setup-deploy, /retro, /investigate, /document-release, /codex, /cso, /careful, /freeze, /guard, /unfreeze, /gstack-upgrade, and tells Claude that if gstack skills aren't working, run `cd .claude/skills/gstack && ./setup` to build the binary and register skills.
54
+
55
+ Real files get committed to your repo (not a submodule), so `git clone` just works. Everything lives inside `.claude/`. Nothing touches your PATH or runs in the background.
56
+
57
+ ### Codex, Gemini CLI, or Cursor
58
+
59
+ gstack works on any agent that supports the [SKILL.md standard](https://github.com/anthropics/claude-code). Skills live in `.agents/skills/` and are discovered automatically.
60
+
61
+ ```bash
62
+ git clone https://github.com/garrytan/gstack.git ~/.codex/skills/gstack
63
+ cd ~/.codex/skills/gstack && ./setup --host codex
64
+ ```
65
+
66
+ Or let setup auto-detect which agents you have installed:
67
+
68
+ ```bash
69
+ git clone https://github.com/garrytan/gstack.git ~/gstack
70
+ cd ~/gstack && ./setup --host auto
71
+ ```
72
+
73
+ This installs to `~/.claude/skills/gstack` and/or `~/.codex/skills/gstack` depending on what's available. All 28 skills work across all supported agents. Hook-based safety skills (careful, freeze, guard) use inline safety advisory prose on non-Claude hosts.
74
+
75
+ ## See it work
76
+
77
+ ```
78
+ You: I want to build a daily briefing app for my calendar.
79
+ You: /office-hours
80
+ Claude: [asks about the pain — specific examples, not hypotheticals]
81
+
82
+ You: Multiple Google calendars, events with stale info, wrong locations.
83
+ Prep takes forever and the results aren't good enough...
84
+
85
+ Claude: I'm going to push back on the framing. You said "daily briefing
86
+ app." But what you actually described is a personal chief of
87
+ staff AI.
88
+ [extracts 5 capabilities you didn't realize you were describing]
89
+ [challenges 4 premises — you agree, disagree, or adjust]
90
+ [generates 3 implementation approaches with effort estimates]
91
+ RECOMMENDATION: Ship the narrowest wedge tomorrow, learn from
92
+ real usage. The full vision is a 3-month project — start with
93
+ the daily briefing that actually works.
94
+ [writes design doc → feeds into downstream skills automatically]
95
+
96
+ You: /plan-ceo-review
97
+ [reads the design doc, challenges scope, runs 10-section review]
98
+
99
+ You: /plan-eng-review
100
+ [ASCII diagrams for data flow, state machines, error paths]
101
+ [test matrix, failure modes, security concerns]
102
+
103
+ You: Approve plan. Exit plan mode.
104
+ [writes 2,400 lines across 11 files. ~8 minutes.]
105
+
106
+ You: /review
107
+ [AUTO-FIXED] 2 issues. [ASK] Race condition → you approve fix.
108
+
109
+ You: /qa https://staging.myapp.com
110
+ [opens real browser, clicks through flows, finds and fixes a bug]
111
+
112
+ You: /ship
113
+ Tests: 42 → 51 (+9 new). PR: github.com/you/app/pull/42
114
+ ```
115
+
116
+ You said "daily briefing app." The agent said "you're building a chief of staff AI" — because it listened to your pain, not your feature request. Eight commands, end to end. That is not a copilot. That is a team.
117
+
118
+ ## The sprint
119
+
120
+ gstack is a process, not a collection of tools. The skills run in the order a sprint runs:
121
+
122
+ **Think → Plan → Build → Review → Test → Ship → Reflect**
123
+
124
+ Each skill feeds into the next. `/office-hours` writes a design doc that `/plan-ceo-review` reads. `/plan-eng-review` writes a test plan that `/qa` picks up. `/review` catches bugs that `/ship` verifies are fixed. Nothing falls through the cracks because every step knows what came before it.
125
+
126
+ | Skill | Your specialist | What they do |
127
+ |-------|----------------|--------------|
128
+ | `/office-hours` | **YC Office Hours** | Start here. Six forcing questions that reframe your product before you write code. Pushes back on your framing, challenges premises, generates implementation alternatives. Design doc feeds into every downstream skill. |
129
+ | `/plan-ceo-review` | **CEO / Founder** | Rethink the problem. Find the 10-star product hiding inside the request. Four modes: Expansion, Selective Expansion, Hold Scope, Reduction. |
130
+ | `/plan-eng-review` | **Eng Manager** | Lock in architecture, data flow, diagrams, edge cases, and tests. Forces hidden assumptions into the open. |
131
+ | `/plan-design-review` | **Senior Designer** | Rates each design dimension 0-10, explains what a 10 looks like, then edits the plan to get there. AI Slop detection. Interactive — one AskUserQuestion per design choice. |
132
+ | `/design-consultation` | **Design Partner** | Build a complete design system from scratch. Researches the landscape, proposes creative risks, generates realistic product mockups. |
133
+ | `/review` | **Staff Engineer** | Find the bugs that pass CI but blow up in production. Auto-fixes the obvious ones. Flags completeness gaps. |
134
+ | `/investigate` | **Debugger** | Systematic root-cause debugging. Iron Law: no fixes without investigation. Traces data flow, tests hypotheses, stops after 3 failed fixes. |
135
+ | `/design-review` | **Designer Who Codes** | Same audit as /plan-design-review, then fixes what it finds. Atomic commits, before/after screenshots. |
136
+ | `/qa` | **QA Lead** | Test your app, find bugs, fix them with atomic commits, re-verify. Auto-generates regression tests for every fix. |
137
+ | `/qa-only` | **QA Reporter** | Same methodology as /qa but report only. Pure bug report without code changes. |
138
+ | `/cso` | **Chief Security Officer** | OWASP Top 10 + STRIDE threat model. Zero-noise: 17 false positive exclusions, 8/10+ confidence gate, independent finding verification. Each finding includes a concrete exploit scenario. |
139
+ | `/ship` | **Release Engineer** | Sync main, run tests, audit coverage, push, open PR. Bootstraps test frameworks if you don't have one. |
140
+ | `/land-and-deploy` | **Release Engineer** | Merge the PR, wait for CI and deploy, verify production health. One command from "approved" to "verified in production." |
141
+ | `/canary` | **SRE** | Post-deploy monitoring loop. Watches for console errors, performance regressions, and page failures. |
142
+ | `/benchmark` | **Performance Engineer** | Baseline page load times, Core Web Vitals, and resource sizes. Compare before/after on every PR. |
143
+ | `/document-release` | **Technical Writer** | Update all project docs to match what you just shipped. Catches stale READMEs automatically. |
144
+ | `/retro` | **Eng Manager** | Team-aware weekly retro. Per-person breakdowns, shipping streaks, test health trends, growth opportunities. `/retro global` runs across all your projects and AI tools (Claude Code, Codex, Gemini). |
145
+ | `/browse` | **QA Engineer** | Real Chromium browser, real clicks, real screenshots. ~100ms per command. |
146
+ | `/setup-browser-cookies` | **Session Manager** | Import cookies from your real browser (Chrome, Arc, Brave, Edge) into the headless session. Test authenticated pages. |
147
+ | `/autoplan` | **Review Pipeline** | One command, fully reviewed plan. Runs CEO → design → eng review automatically with encoded decision principles. Surfaces only taste decisions for your approval. |
148
+
149
+ ### Power tools
150
+
151
+ | Skill | What it does |
152
+ |-------|-------------|
153
+ | `/codex` | **Second Opinion** — independent code review from OpenAI Codex CLI. Three modes: review (pass/fail gate), adversarial challenge, and open consultation. Cross-model analysis when both `/review` and `/codex` have run. |
154
+ | `/careful` | **Safety Guardrails** — warns before destructive commands (rm -rf, DROP TABLE, force-push). Say "be careful" to activate. Override any warning. |
155
+ | `/freeze` | **Edit Lock** — restrict file edits to one directory. Prevents accidental changes outside scope while debugging. |
156
+ | `/guard` | **Full Safety** — `/careful` + `/freeze` in one command. Maximum safety for prod work. |
157
+ | `/unfreeze` | **Unlock** — remove the `/freeze` boundary. |
158
+ | `/setup-deploy` | **Deploy Configurator** — one-time setup for `/land-and-deploy`. Detects your platform, production URL, and deploy commands. |
159
+ | `/gstack-upgrade` | **Self-Updater** — upgrade gstack to latest. Detects global vs vendored install, syncs both, shows what changed. |
160
+
161
+ **[Deep dives with examples and philosophy for every skill →](docs/skills.md)**
162
+
163
+ ## Parallel sprints
164
+
165
+ gstack works well with one sprint. It gets interesting with ten running at once.
166
+
167
+ [Conductor](https://conductor.build) runs multiple Claude Code sessions in parallel — each in its own isolated workspace. One session on `/office-hours`, another on `/review`, a third implementing a feature, a fourth running `/qa`. All at the same time. The sprint structure is what makes parallelism work — without a process, ten agents is ten sources of chaos. With a process, each agent knows exactly what to do and when to stop.
168
+
169
+ ---
170
+
171
+ Free, MIT licensed, open source. No premium tier, no waitlist.
172
+
173
+ I open sourced how I build software. You can fork it and make it your own.
174
+
175
+ > **We're hiring.** Want to ship 10K+ LOC/day and help harden gstack?
176
+ > Come work at YC — [ycombinator.com/software](https://ycombinator.com/software)
177
+ > Extremely competitive salary and equity. San Francisco, Dogpatch District.
178
+
179
+ ## Docs
180
+
181
+ | Doc | What it covers |
182
+ |-----|---------------|
183
+ | [Skill Deep Dives](docs/skills.md) | Philosophy, examples, and workflow for every skill (includes Greptile integration) |
184
+ | [Builder Ethos](ETHOS.md) | Builder philosophy: Boil the Lake, Search Before Building, three layers of knowledge |
185
+ | [Architecture](ARCHITECTURE.md) | Design decisions and system internals |
186
+ | [Browser Reference](BROWSER.md) | Full command reference for `/browse` |
187
+ | [Contributing](CONTRIBUTING.md) | Dev setup, testing, contributor mode, and dev mode |
188
+ | [Changelog](CHANGELOG.md) | What's new in every version |
189
+
190
+ ## Privacy & Telemetry
191
+
192
+ gstack includes **opt-in** usage telemetry to help improve the project. Here's exactly what happens:
193
+
194
+ - **Default is off.** Nothing is sent anywhere unless you explicitly say yes.
195
+ - **On first run,** gstack asks if you want to share anonymous usage data. You can say no.
196
+ - **What's sent (if you opt in):** skill name, duration, success/fail, gstack version, OS. That's it.
197
+ - **What's never sent:** code, file paths, repo names, branch names, prompts, or any user-generated content.
198
+ - **Change anytime:** `gstack-config set telemetry off` disables everything instantly.
199
+
200
+ Data is stored in [Supabase](https://supabase.com) (open source Firebase alternative). The schema is in [`supabase/migrations/001_telemetry.sql`](supabase/migrations/001_telemetry.sql) — you can verify exactly what's collected. The Supabase publishable key in the repo is a public key (like a Firebase API key) — row-level security policies restrict it to insert-only access.
201
+
202
+ **Local analytics are always available.** Run `gstack-analytics` to see your personal usage dashboard from the local JSONL file — no remote data needed.
203
+
204
+ ## Troubleshooting
205
+
206
+ **Skill not showing up?** `cd ~/.claude/skills/gstack && ./setup`
207
+
208
+ **`/browse` fails?** `cd ~/.claude/skills/gstack && bun install && bun run build`
209
+
210
+ **Stale install?** Run `/gstack-upgrade` — or set `auto_upgrade: true` in `~/.gstack/config.yaml`
211
+
212
+ **Windows users:** gstack works on Windows 11 via Git Bash or WSL. Node.js is required in addition to Bun — Bun has a known bug with Playwright's pipe transport on Windows ([bun#4253](https://github.com/oven-sh/bun/issues/4253)). The browse server automatically falls back to Node.js. Make sure both `bun` and `node` are on your PATH.
213
+
214
+ **Claude says it can't see the skills?** Make sure your project's `CLAUDE.md` has a gstack section. Add this:
215
+
216
+ ```
217
+ ## gstack
218
+ Use /browse from gstack for all web browsing. Never use mcp__claude-in-chrome__* tools.
219
+ Available skills: /office-hours, /plan-ceo-review, /plan-eng-review, /plan-design-review,
220
+ /design-consultation, /review, /ship, /land-and-deploy, /canary, /benchmark, /browse,
221
+ /qa, /qa-only, /design-review, /setup-browser-cookies, /setup-deploy, /retro,
222
+ /investigate, /document-release, /codex, /cso, /autoplan, /careful, /freeze, /guard,
223
+ /unfreeze, /gstack-upgrade.
224
+ ```
225
+
226
+ ## License
227
+
228
+ MIT. Free forever. Go build something.