> ## Documentation Index
> Fetch the complete documentation index at: https://prof-lee.zikun.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Reproducing it

> Install gstack on your machine in thirty seconds. The recommended first session. What to expect on day one.

This page is about installing the original `garrytan/gstack` on your machine. It is **not** about deploying this documentation site. See the [project README](https://github.com/garrytan/gstack#readme) for that.

## Prerequisites

<CardGroup cols={3}>
  <Card title="Claude Code" icon="terminal" href="https://docs.anthropic.com/en/docs/claude-code">
    The official Anthropic CLI. Required.
  </Card>

  <Card title="Bun 1.0 or newer" icon="package" href="https://bun.sh">
    Used to compile the browser binary at install time.
  </Card>

  <Card title="Git" icon="git-branch" href="https://git-scm.com">
    Used for the install itself and by every shipping skill.
  </Card>
</CardGroup>

## Install in thirty seconds

Paste this single command into your Claude Code session. Claude does the rest, including adding a routing section to your `CLAUDE.md` and listing the available skills.

<CodeGroup>
  ```bash One-liner theme={null}
  git clone --single-branch --depth 1 \
    https://github.com/garrytan/gstack.git \
    ~/.claude/skills/gstack \
    && cd ~/.claude/skills/gstack \
    && ./setup
  ```

  ```bash With team mode (commits a routing rule for teammates) theme={null}
  (cd ~/.claude/skills/gstack && ./setup --team) \
    && ~/.claude/skills/gstack/bin/gstack-team-init required \
    && git add .claude/ CLAUDE.md \
    && git commit -m "require gstack for AI-assisted work"
  ```

  ```bash Target a specific host (e.g. Codex CLI) theme={null}
  git clone --single-branch --depth 1 \
    https://github.com/garrytan/gstack.git ~/gstack \
    && cd ~/gstack \
    && ./setup --host codex
  ```
</CodeGroup>

<Note>
  The `./setup` script verifies that Bun is installed, compiles the browser daemon and the designer binary, and symlinks every skill directory into your host's skills path. On Windows it falls back to `cp -R` because plain symlinks silently go stale after `git pull` if Developer Mode is off.
</Note>

## The recommended first session

The README explicitly suggests starting with a five-step loop before deciding whether the system is for you.

<Steps>
  <Step title="Run /office-hours" icon="lightbulb">
    Describe what you are building. The skill will push back on your framing, run the six forcing questions, generate two or three implementation alternatives with effort estimates, and write a design doc to `~/.gstack/projects/<slug>/`.
  </Step>

  <Step title="Run /plan-ceo-review on any feature idea" icon="crown">
    The skill reads the design doc automatically. It will run the 11-section review, surface scope-expansion opportunities (you opt in to each one individually), and write a CEO plan if you chose Expansion or Selective Expansion mode.
  </Step>

  <Step title="Run /review on any branch with changes" icon="search-check">
    Pre-landing review. Auto-fixes mechanical issues directly. Batches ambiguous findings into one AskUserQuestion call. Should take 30 to 90 seconds for a small diff.
  </Step>

  <Step title="Run /qa on your staging URL" icon="bug">
    Spins up the browser, explores the affected pages, finds bugs, fixes them with atomic commits, auto-generates regression tests, re-verifies. Stops automatically when the WTF-likelihood heuristic crosses 20 percent.
  </Step>

  <Step title="Stop there. You will know." icon="circle-check">
    The README's exact instruction. Five commands is enough surface area to feel whether the system fits your workflow.
  </Step>
</Steps>

## What gets created on disk

<CardGroup cols={2}>
  <Card title="~/.claude/skills/gstack/" icon="folder">
    The cloned repo. Updated by `/gstack-upgrade` or by re-running `./setup`.
  </Card>

  <Card title="~/.gstack/" icon="database">
    The state directory. Stores config, sessions, analytics, projects, learnings, security state. Persistent across sessions.
  </Card>

  <Card title="<project>/.claude/" icon="folder-cog">
    Per-project skill symlinks (only if you opted into team mode).
  </Card>

  <Card title="<project>/.context/" icon="bookmark">
    Per-project context for Conductor worktree handoffs.
  </Card>
</CardGroup>

## Configuration

The user-level config file is `~/.gstack/config.yaml`. Skills read it at startup. Set values via the `gstack-config` helper.

```bash gstack-config examples theme={null}
~/.claude/skills/gstack/bin/gstack-config set proactive true
~/.claude/skills/gstack/bin/gstack-config set auto_upgrade true
~/.claude/skills/gstack/bin/gstack-config set telemetry community
~/.claude/skills/gstack/bin/gstack-config set checkpoint_mode continuous
~/.claude/skills/gstack/bin/gstack-config set skip_eng_review true
~/.claude/skills/gstack/bin/gstack-config list
```

<AccordionGroup>
  <Accordion title="proactive (default. true)" icon="zap">
    When true, gstack auto-invokes the right skill when your request matches one's routing rule. Set to `false` if you prefer to type slash-commands manually.
  </Accordion>

  <Accordion title="telemetry (default. off)" icon="trending-up">
    Three values. `off`, `anonymous`, `community`. Off sends nothing. Anonymous sends counter-only stats with no device ID. Community sends usage data plus a stable device ID for cross-machine aggregation. Telemetry is opt-in and a one-time prompt asks on first run.
  </Accordion>

  <Accordion title="auto_upgrade (default. false)" icon="cloud-download">
    When true, gstack silently upgrades itself at the start of each session if a new version is available. Otherwise the preamble surfaces an `UPGRADE_AVAILABLE` line and the user runs `/gstack-upgrade`.
  </Accordion>

  <Accordion title="checkpoint_mode (default. explicit)" icon="circle-dot">
    When set to `continuous`, skills auto-commit work-in-progress with `WIP:` prefix and structured context. Survives crashes. `/ship` filter-squashes WIP commits before opening the PR.
  </Accordion>

  <Accordion title="skip_eng_review (default. false)" icon="circle-x">
    When true, `/ship` does not block on a missing engineering review. Useful for teams that have their own pre-merge gate.
  </Accordion>
</AccordionGroup>

## Upgrading

```bash Upgrade theme={null}
# Either run the skill
/gstack-upgrade

# Or directly
cd ~/.claude/skills/gstack && git pull && ./setup
```

The upgrade flow detects whether you have a global install (`~/.claude/skills/gstack/`) or a vendored install (`<project>/.claude/skills/gstack/`), syncs both if dual-installed, and prints the changelog.

## Uninstalling

```bash Uninstall theme={null}
rm -rf ~/.claude/skills/gstack
rm -rf ~/.gstack
```

The first command removes the skill files. The second removes the state directory. If you only want to reset preferences, delete `~/.gstack/config.yaml` and the marker files. The projects directory keeps your learnings and design docs intact.

## What to read next

<CardGroup cols={2}>
  <Card title="The 47-skill catalog" icon="library" href="/skills">
    Every slash command with its persona and one-line job. The complete inventory.
  </Card>

  <Card title="The verbatim prompts" icon="quote" href="/prompts">
    The exact instructions inside the biggest specialists.
  </Card>

  <Card title="The runtime mechanism" icon="cpu" href="/runtime">
    How a SKILL.md actually loads and executes.
  </Card>

  <Card title="The original repository" icon="github" href="https://github.com/garrytan/gstack">
    Browse the source. Read the CHANGELOG. File issues.
  </Card>
</CardGroup>
