@runchr/gstack-antigravity 0.1.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.
Potentially problematic release.
This version of @runchr/gstack-antigravity might be problematic. Click here for more details.
- package/.agents/rules/ETHOS.md +129 -0
- package/.agents/rules/global-gstack.md +117 -0
- package/.agents/rules/persona-gstack-autoplan.md +14 -0
- package/.agents/rules/persona-gstack-benchmark.md +14 -0
- package/.agents/rules/persona-gstack-browse.md +14 -0
- package/.agents/rules/persona-gstack-canary.md +14 -0
- package/.agents/rules/persona-gstack-careful.md +14 -0
- package/.agents/rules/persona-gstack-codex.md +14 -0
- package/.agents/rules/persona-gstack-cso.md +14 -0
- package/.agents/rules/persona-gstack-design-consultation.md +14 -0
- package/.agents/rules/persona-gstack-design-review.md +14 -0
- package/.agents/rules/persona-gstack-document-release.md +14 -0
- package/.agents/rules/persona-gstack-freeze.md +14 -0
- package/.agents/rules/persona-gstack-gstack-upgrade.md +14 -0
- package/.agents/rules/persona-gstack-guard.md +14 -0
- package/.agents/rules/persona-gstack-investigate.md +14 -0
- package/.agents/rules/persona-gstack-land-and-deploy.md +14 -0
- package/.agents/rules/persona-gstack-office-hours.md +14 -0
- package/.agents/rules/persona-gstack-plan-ceo-review.md +14 -0
- package/.agents/rules/persona-gstack-plan-design-review.md +14 -0
- package/.agents/rules/persona-gstack-plan-eng-review.md +14 -0
- package/.agents/rules/persona-gstack-qa-only.md +14 -0
- package/.agents/rules/persona-gstack-qa.md +14 -0
- package/.agents/rules/persona-gstack-retro.md +14 -0
- package/.agents/rules/persona-gstack-review.md +14 -0
- package/.agents/rules/persona-gstack-setup-browser-cookies.md +14 -0
- package/.agents/rules/persona-gstack-setup-deploy.md +14 -0
- package/.agents/rules/persona-gstack-ship.md +14 -0
- package/.agents/rules/persona-gstack-unfreeze.md +14 -0
- package/.agents/rules/persona-gstack.md +40 -0
- package/.agents/rules/recursive-identities.md +22 -0
- package/.agents/workflows/autoplan.md +30 -0
- package/.agents/workflows/benchmark.md +31 -0
- package/.agents/workflows/browse.md +26 -0
- package/.agents/workflows/canary.md +33 -0
- package/.agents/workflows/careful.md +22 -0
- package/.agents/workflows/codex.md +36 -0
- package/.agents/workflows/cso.md +29 -0
- package/.agents/workflows/design-consultation.md +28 -0
- package/.agents/workflows/design-review.md +28 -0
- package/.agents/workflows/document-release.md +32 -0
- package/.agents/workflows/freeze.md +17 -0
- package/.agents/workflows/gstack-upgrade.md +54 -0
- package/.agents/workflows/gstack.md +56 -0
- package/.agents/workflows/guard.md +18 -0
- package/.agents/workflows/investigate.md +37 -0
- package/.agents/workflows/land-and-deploy.md +35 -0
- package/.agents/workflows/office-hours.md +27 -0
- package/.agents/workflows/plan-ceo-review.md +34 -0
- package/.agents/workflows/plan-design-review.md +31 -0
- package/.agents/workflows/plan-eng-review.md +28 -0
- package/.agents/workflows/qa-only.md +28 -0
- package/.agents/workflows/qa.md +73 -0
- package/.agents/workflows/retro.md +34 -0
- package/.agents/workflows/review.md +30 -0
- package/.agents/workflows/setup-browser-cookies.md +15 -0
- package/.agents/workflows/setup-cookies.md +8 -0
- package/.agents/workflows/setup-deploy.md +21 -0
- package/.agents/workflows/ship.md +93 -0
- package/.agents/workflows/unfreeze.md +12 -0
- package/LICENSE +22 -0
- package/README.md +189 -0
- package/README_KO.md +191 -0
- package/bin/install.js +105 -0
- package/gstack-origin/.agents/skills/gstack/SKILL.md +651 -0
- package/gstack-origin/.agents/skills/gstack-autoplan/SKILL.md +678 -0
- package/gstack-origin/.agents/skills/gstack-benchmark/SKILL.md +482 -0
- package/gstack-origin/.agents/skills/gstack-browse/SKILL.md +511 -0
- package/gstack-origin/.agents/skills/gstack-canary/SKILL.md +486 -0
- package/gstack-origin/.agents/skills/gstack-careful/SKILL.md +50 -0
- package/gstack-origin/.agents/skills/gstack-cso/SKILL.md +607 -0
- package/gstack-origin/.agents/skills/gstack-design-consultation/SKILL.md +615 -0
- package/gstack-origin/.agents/skills/gstack-design-review/SKILL.md +988 -0
- package/gstack-origin/.agents/skills/gstack-document-release/SKILL.md +604 -0
- package/gstack-origin/.agents/skills/gstack-freeze/SKILL.md +67 -0
- package/gstack-origin/.agents/skills/gstack-guard/SKILL.md +62 -0
- package/gstack-origin/.agents/skills/gstack-investigate/SKILL.md +415 -0
- package/gstack-origin/.agents/skills/gstack-land-and-deploy/SKILL.md +873 -0
- package/gstack-origin/.agents/skills/gstack-office-hours/SKILL.md +986 -0
- package/gstack-origin/.agents/skills/gstack-plan-ceo-review/SKILL.md +1268 -0
- package/gstack-origin/.agents/skills/gstack-plan-design-review/SKILL.md +668 -0
- package/gstack-origin/.agents/skills/gstack-plan-eng-review/SKILL.md +826 -0
- package/gstack-origin/.agents/skills/gstack-qa/SKILL.md +1006 -0
- package/gstack-origin/.agents/skills/gstack-qa-only/SKILL.md +626 -0
- package/gstack-origin/.agents/skills/gstack-retro/SKILL.md +1065 -0
- package/gstack-origin/.agents/skills/gstack-review/SKILL.md +704 -0
- package/gstack-origin/.agents/skills/gstack-setup-browser-cookies/SKILL.md +325 -0
- package/gstack-origin/.agents/skills/gstack-setup-deploy/SKILL.md +450 -0
- package/gstack-origin/.agents/skills/gstack-ship/SKILL.md +1312 -0
- package/gstack-origin/.agents/skills/gstack-unfreeze/SKILL.md +36 -0
- package/gstack-origin/.agents/skills/gstack-upgrade/SKILL.md +220 -0
- package/gstack-origin/.env.example +5 -0
- package/gstack-origin/.github/workflows/skill-docs.yml +17 -0
- package/gstack-origin/AGENTS.md +49 -0
- package/gstack-origin/ARCHITECTURE.md +359 -0
- package/gstack-origin/BROWSER.md +271 -0
- package/gstack-origin/CHANGELOG.md +800 -0
- package/gstack-origin/CLAUDE.md +284 -0
- package/gstack-origin/CONTRIBUTING.md +370 -0
- package/gstack-origin/ETHOS.md +129 -0
- package/gstack-origin/LICENSE +21 -0
- package/gstack-origin/README.md +228 -0
- package/gstack-origin/SKILL.md +657 -0
- package/gstack-origin/SKILL.md.tmpl +281 -0
- package/gstack-origin/TODOS.md +564 -0
- package/gstack-origin/VERSION +1 -0
- package/gstack-origin/autoplan/SKILL.md +689 -0
- package/gstack-origin/autoplan/SKILL.md.tmpl +416 -0
- package/gstack-origin/benchmark/SKILL.md +489 -0
- package/gstack-origin/benchmark/SKILL.md.tmpl +233 -0
- package/gstack-origin/bin/dev-setup +68 -0
- package/gstack-origin/bin/dev-teardown +56 -0
- package/gstack-origin/bin/gstack-analytics +191 -0
- package/gstack-origin/bin/gstack-community-dashboard +113 -0
- package/gstack-origin/bin/gstack-config +38 -0
- package/gstack-origin/bin/gstack-diff-scope +71 -0
- package/gstack-origin/bin/gstack-global-discover.ts +591 -0
- package/gstack-origin/bin/gstack-repo-mode +93 -0
- package/gstack-origin/bin/gstack-review-log +9 -0
- package/gstack-origin/bin/gstack-review-read +12 -0
- package/gstack-origin/bin/gstack-slug +15 -0
- package/gstack-origin/bin/gstack-telemetry-log +158 -0
- package/gstack-origin/bin/gstack-telemetry-sync +127 -0
- package/gstack-origin/bin/gstack-update-check +196 -0
- package/gstack-origin/browse/SKILL.md +517 -0
- package/gstack-origin/browse/SKILL.md.tmpl +141 -0
- package/gstack-origin/browse/bin/find-browse +21 -0
- package/gstack-origin/browse/bin/remote-slug +14 -0
- package/gstack-origin/browse/scripts/build-node-server.sh +48 -0
- package/gstack-origin/browse/src/browser-manager.ts +634 -0
- package/gstack-origin/browse/src/buffers.ts +137 -0
- package/gstack-origin/browse/src/bun-polyfill.cjs +109 -0
- package/gstack-origin/browse/src/cli.ts +420 -0
- package/gstack-origin/browse/src/commands.ts +111 -0
- package/gstack-origin/browse/src/config.ts +150 -0
- package/gstack-origin/browse/src/cookie-import-browser.ts +417 -0
- package/gstack-origin/browse/src/cookie-picker-routes.ts +207 -0
- package/gstack-origin/browse/src/cookie-picker-ui.ts +541 -0
- package/gstack-origin/browse/src/find-browse.ts +61 -0
- package/gstack-origin/browse/src/meta-commands.ts +269 -0
- package/gstack-origin/browse/src/platform.ts +17 -0
- package/gstack-origin/browse/src/read-commands.ts +335 -0
- package/gstack-origin/browse/src/server.ts +369 -0
- package/gstack-origin/browse/src/snapshot.ts +398 -0
- package/gstack-origin/browse/src/url-validation.ts +91 -0
- package/gstack-origin/browse/src/write-commands.ts +352 -0
- package/gstack-origin/browse/test/bun-polyfill.test.ts +72 -0
- package/gstack-origin/browse/test/commands.test.ts +1836 -0
- package/gstack-origin/browse/test/config.test.ts +250 -0
- package/gstack-origin/browse/test/cookie-import-browser.test.ts +397 -0
- package/gstack-origin/browse/test/cookie-picker-routes.test.ts +205 -0
- package/gstack-origin/browse/test/find-browse.test.ts +50 -0
- package/gstack-origin/browse/test/fixtures/basic.html +33 -0
- package/gstack-origin/browse/test/fixtures/cursor-interactive.html +22 -0
- package/gstack-origin/browse/test/fixtures/dialog.html +15 -0
- package/gstack-origin/browse/test/fixtures/empty.html +2 -0
- package/gstack-origin/browse/test/fixtures/forms.html +55 -0
- package/gstack-origin/browse/test/fixtures/qa-eval-checkout.html +108 -0
- package/gstack-origin/browse/test/fixtures/qa-eval-spa.html +98 -0
- package/gstack-origin/browse/test/fixtures/qa-eval.html +51 -0
- package/gstack-origin/browse/test/fixtures/responsive.html +49 -0
- package/gstack-origin/browse/test/fixtures/snapshot.html +55 -0
- package/gstack-origin/browse/test/fixtures/spa.html +24 -0
- package/gstack-origin/browse/test/fixtures/states.html +17 -0
- package/gstack-origin/browse/test/fixtures/upload.html +25 -0
- package/gstack-origin/browse/test/gstack-config.test.ts +125 -0
- package/gstack-origin/browse/test/gstack-update-check.test.ts +467 -0
- package/gstack-origin/browse/test/handoff.test.ts +235 -0
- package/gstack-origin/browse/test/path-validation.test.ts +63 -0
- package/gstack-origin/browse/test/platform.test.ts +37 -0
- package/gstack-origin/browse/test/snapshot.test.ts +467 -0
- package/gstack-origin/browse/test/test-server.ts +57 -0
- package/gstack-origin/browse/test/url-validation.test.ts +72 -0
- package/gstack-origin/canary/SKILL.md +493 -0
- package/gstack-origin/canary/SKILL.md.tmpl +220 -0
- package/gstack-origin/careful/SKILL.md +59 -0
- package/gstack-origin/careful/SKILL.md.tmpl +57 -0
- package/gstack-origin/careful/bin/check-careful.sh +112 -0
- package/gstack-origin/codex/SKILL.md +677 -0
- package/gstack-origin/codex/SKILL.md.tmpl +356 -0
- package/gstack-origin/conductor.json +6 -0
- package/gstack-origin/cso/SKILL.md +615 -0
- package/gstack-origin/cso/SKILL.md.tmpl +376 -0
- package/gstack-origin/design-consultation/SKILL.md +625 -0
- package/gstack-origin/design-consultation/SKILL.md.tmpl +369 -0
- package/gstack-origin/design-review/SKILL.md +998 -0
- package/gstack-origin/design-review/SKILL.md.tmpl +262 -0
- package/gstack-origin/docs/images/github-2013.png +0 -0
- package/gstack-origin/docs/images/github-2026.png +0 -0
- package/gstack-origin/docs/skills.md +877 -0
- package/gstack-origin/document-release/SKILL.md +613 -0
- package/gstack-origin/document-release/SKILL.md.tmpl +357 -0
- package/gstack-origin/freeze/SKILL.md +82 -0
- package/gstack-origin/freeze/SKILL.md.tmpl +80 -0
- package/gstack-origin/freeze/bin/check-freeze.sh +68 -0
- package/gstack-origin/gstack-upgrade/SKILL.md +226 -0
- package/gstack-origin/gstack-upgrade/SKILL.md.tmpl +224 -0
- package/gstack-origin/guard/SKILL.md +82 -0
- package/gstack-origin/guard/SKILL.md.tmpl +80 -0
- package/gstack-origin/investigate/SKILL.md +435 -0
- package/gstack-origin/investigate/SKILL.md.tmpl +196 -0
- package/gstack-origin/land-and-deploy/SKILL.md +880 -0
- package/gstack-origin/land-and-deploy/SKILL.md.tmpl +575 -0
- package/gstack-origin/office-hours/SKILL.md +996 -0
- package/gstack-origin/office-hours/SKILL.md.tmpl +624 -0
- package/gstack-origin/package.json +55 -0
- package/gstack-origin/plan-ceo-review/SKILL.md +1277 -0
- package/gstack-origin/plan-ceo-review/SKILL.md.tmpl +838 -0
- package/gstack-origin/plan-design-review/SKILL.md +676 -0
- package/gstack-origin/plan-design-review/SKILL.md.tmpl +314 -0
- package/gstack-origin/plan-eng-review/SKILL.md +836 -0
- package/gstack-origin/plan-eng-review/SKILL.md.tmpl +279 -0
- package/gstack-origin/qa/SKILL.md +1016 -0
- package/gstack-origin/qa/SKILL.md.tmpl +316 -0
- package/gstack-origin/qa/references/issue-taxonomy.md +85 -0
- package/gstack-origin/qa/templates/qa-report-template.md +126 -0
- package/gstack-origin/qa-only/SKILL.md +633 -0
- package/gstack-origin/qa-only/SKILL.md.tmpl +101 -0
- package/gstack-origin/retro/SKILL.md +1072 -0
- package/gstack-origin/retro/SKILL.md.tmpl +833 -0
- package/gstack-origin/review/SKILL.md +849 -0
- package/gstack-origin/review/SKILL.md.tmpl +259 -0
- package/gstack-origin/review/TODOS-format.md +62 -0
- package/gstack-origin/review/checklist.md +190 -0
- package/gstack-origin/review/design-checklist.md +132 -0
- package/gstack-origin/review/greptile-triage.md +220 -0
- package/gstack-origin/scripts/analytics.ts +190 -0
- package/gstack-origin/scripts/dev-skill.ts +82 -0
- package/gstack-origin/scripts/eval-compare.ts +96 -0
- package/gstack-origin/scripts/eval-list.ts +116 -0
- package/gstack-origin/scripts/eval-select.ts +86 -0
- package/gstack-origin/scripts/eval-summary.ts +187 -0
- package/gstack-origin/scripts/eval-watch.ts +172 -0
- package/gstack-origin/scripts/gen-skill-docs.ts +2414 -0
- package/gstack-origin/scripts/skill-check.ts +167 -0
- package/gstack-origin/setup +269 -0
- package/gstack-origin/setup-browser-cookies/SKILL.md +330 -0
- package/gstack-origin/setup-browser-cookies/SKILL.md.tmpl +74 -0
- package/gstack-origin/setup-deploy/SKILL.md +459 -0
- package/gstack-origin/setup-deploy/SKILL.md.tmpl +220 -0
- package/gstack-origin/ship/SKILL.md +1457 -0
- package/gstack-origin/ship/SKILL.md.tmpl +528 -0
- package/gstack-origin/supabase/config.sh +10 -0
- package/gstack-origin/supabase/functions/community-pulse/index.ts +59 -0
- package/gstack-origin/supabase/functions/telemetry-ingest/index.ts +135 -0
- package/gstack-origin/supabase/functions/update-check/index.ts +37 -0
- package/gstack-origin/supabase/migrations/001_telemetry.sql +89 -0
- package/gstack-origin/test/analytics.test.ts +277 -0
- package/gstack-origin/test/codex-e2e.test.ts +197 -0
- package/gstack-origin/test/fixtures/coverage-audit-fixture.ts +76 -0
- package/gstack-origin/test/fixtures/eval-baselines.json +7 -0
- package/gstack-origin/test/fixtures/qa-eval-checkout-ground-truth.json +43 -0
- package/gstack-origin/test/fixtures/qa-eval-ground-truth.json +43 -0
- package/gstack-origin/test/fixtures/qa-eval-spa-ground-truth.json +43 -0
- package/gstack-origin/test/fixtures/review-eval-design-slop.css +86 -0
- package/gstack-origin/test/fixtures/review-eval-design-slop.html +41 -0
- package/gstack-origin/test/fixtures/review-eval-enum-diff.rb +30 -0
- package/gstack-origin/test/fixtures/review-eval-enum.rb +27 -0
- package/gstack-origin/test/fixtures/review-eval-vuln.rb +14 -0
- package/gstack-origin/test/gemini-e2e.test.ts +173 -0
- package/gstack-origin/test/gen-skill-docs.test.ts +1049 -0
- package/gstack-origin/test/global-discover.test.ts +187 -0
- package/gstack-origin/test/helpers/codex-session-runner.ts +282 -0
- package/gstack-origin/test/helpers/e2e-helpers.ts +239 -0
- package/gstack-origin/test/helpers/eval-store.test.ts +548 -0
- package/gstack-origin/test/helpers/eval-store.ts +689 -0
- package/gstack-origin/test/helpers/gemini-session-runner.test.ts +104 -0
- package/gstack-origin/test/helpers/gemini-session-runner.ts +201 -0
- package/gstack-origin/test/helpers/llm-judge.ts +130 -0
- package/gstack-origin/test/helpers/observability.test.ts +283 -0
- package/gstack-origin/test/helpers/session-runner.test.ts +96 -0
- package/gstack-origin/test/helpers/session-runner.ts +357 -0
- package/gstack-origin/test/helpers/skill-parser.ts +206 -0
- package/gstack-origin/test/helpers/touchfiles.ts +260 -0
- package/gstack-origin/test/hook-scripts.test.ts +373 -0
- package/gstack-origin/test/skill-e2e-browse.test.ts +293 -0
- package/gstack-origin/test/skill-e2e-deploy.test.ts +279 -0
- package/gstack-origin/test/skill-e2e-design.test.ts +614 -0
- package/gstack-origin/test/skill-e2e-plan.test.ts +538 -0
- package/gstack-origin/test/skill-e2e-qa-bugs.test.ts +194 -0
- package/gstack-origin/test/skill-e2e-qa-workflow.test.ts +412 -0
- package/gstack-origin/test/skill-e2e-review.test.ts +535 -0
- package/gstack-origin/test/skill-e2e-workflow.test.ts +586 -0
- package/gstack-origin/test/skill-e2e.test.ts +3325 -0
- package/gstack-origin/test/skill-llm-eval.test.ts +787 -0
- package/gstack-origin/test/skill-parser.test.ts +179 -0
- package/gstack-origin/test/skill-routing-e2e.test.ts +605 -0
- package/gstack-origin/test/skill-validation.test.ts +1520 -0
- package/gstack-origin/test/telemetry.test.ts +278 -0
- package/gstack-origin/test/touchfiles.test.ts +262 -0
- package/gstack-origin/unfreeze/SKILL.md +40 -0
- package/gstack-origin/unfreeze/SKILL.md.tmpl +38 -0
- package/package.json +38 -0
- package/scripts/install-antigravity-skill.ps1 +33 -0
- package/scripts/install-antigravity-skill.sh +41 -0
- package/scripts/sync-gstack-origin.ps1 +37 -0
- package/scripts/sync-gstack-origin.sh +35 -0
|
@@ -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
|
+

|
|
14
|
+
|
|
15
|
+
**2013 — when I built Bookface at YC (772 contributions):**
|
|
16
|
+
|
|
17
|
+

|
|
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.
|