Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
run: uv run pytest --cov=src/gemstack --cov-report=xml

- name: Dependency audit
run: uv run pip-audit
run: uv run pip-audit --ignore-vuln CVE-2026-3219 --skip-editable

build:
runs-on: ubuntu-latest
Expand Down
38 changes: 29 additions & 9 deletions .github/workflows/update-formula.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,34 @@ jobs:
echo "Updated Formula/gemstack.rb:"
cat Formula/gemstack.rb

- name: Commit formula update
run: |
BRANCH="chore/update-formula-v${{ steps.version.outputs.version }}"
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git checkout -b "$BRANCH"
git add Formula/gemstack.rb
git diff --cached --quiet && echo "No changes to commit" && exit 0
git commit -m "chore: update Homebrew formula to v${{ steps.version.outputs.version }}"
git push origin "$BRANCH" --force-with-lease

- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
with:
branch: chore/update-formula-v${{ steps.version.outputs.version }}
commit-message: "chore: update Homebrew formula to v${{ steps.version.outputs.version }}"
title: "chore: update Homebrew formula to v${{ steps.version.outputs.version }}"
body: |
Automated PR to update the Homebrew formula for gemstack v${{ steps.version.outputs.version }}.
env:
GH_TOKEN: ${{ secrets.GH_PAT || secrets.GITHUB_TOKEN }}
run: |
VERSION="${{ steps.version.outputs.version }}"
BRANCH="chore/update-formula-v${VERSION}"
# Check if PR already exists for this branch
EXISTING=$(gh pr list --head "$BRANCH" --json number --jq '.[0].number' 2>/dev/null || true)
if [ -n "$EXISTING" ]; then
echo "PR #$EXISTING already exists for $BRANCH"
else
gh pr create \
--base main \
--head "$BRANCH" \
--title "chore: update Homebrew formula to v${VERSION}" \
--body "Automated PR to update the Homebrew formula for gemstack v${VERSION}.

- Updated sdist URL and SHA256 hash from PyPI
labels: automated
- Updated sdist URL and SHA256 hash from PyPI" \
--label "automated" || echo "::warning::PR creation failed — push succeeded, create PR manually"
fi
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@ coverage.xml
# uv
uv.lock

# Gemstack lifecycle directories (per-project, not documentation)
docs/archive/
docs/designs/
docs/plans/
docs/explorations/

# Local Antigravity symlinks and workflows (machine-specific, not portable)
# Leading / restricts to repo root — do NOT ignore tests/fixtures/.agent/
/.agent/*
Expand Down
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
>
> Built for **Gemini CLI** and **Google Antigravity**. Also works with Cursor, Claude Desktop, and Cline via [MCP](docs/mcp-server.md).

<!-- SCREENSHOT: docs/assets/screenshots/hero-terminal.png — `gemstack --help` Rich-formatted terminal output showing the grouped command panels, or alternatively `gemstack status` showing a project mid-lifecycle. This is the first thing visitors see — make it visually impressive. -->

---

## The Problem
Expand Down Expand Up @@ -125,6 +127,8 @@ gemstack diff # Detect new deps, removed env vars, stale file refs
gemstack check # Validate .agent/ directory integrity
```

<!-- SCREENSHOT: docs/assets/screenshots/diff-dependency-drift.png — `gemstack diff` output showing detected dependency drift (a package in manifest but not documented in ARCHITECTURE.md) -->

### 📊 28 CLI Commands Across 7 Categories

| Category | Commands | Purpose |
Expand Down Expand Up @@ -213,10 +217,14 @@ gemstack compile step3-build --max-tokens 100000 # With token limits
| ⚙️ [The `.agent/` Context System](docs/the-agent-context.md) | How the 5 context files drive AI behavior |
| 🔄 [The 5-Step Lifecycle](docs/the-5-step-lifecycle.md) | Spec → Trap → Build → Audit → Ship in depth |
| 📐 [Topology-Aware Guardrails](docs/topologies.md) | Domain-specific guardrails for every project type |
| 🧠 [The Context Compiler](docs/context-compiler.md) | How JIT prompt assembly works |
| 🤖 [Autonomous Execution](docs/autonomous-execution.md) | Deep dive on `gemstack run` — the autonomous executor |
| 🔍 [Drift Detection](docs/drift-detection.md) | Catch when code and docs get out of sync |
| 🔌 [MCP Server & IDE Integration](docs/mcp-server.md) | Connecting Gemstack to Cursor, Claude, and Cline |
| 🧩 [Building Custom Plugins](docs/plugins.md) | Extending Gemstack with custom topologies, roles, and hooks |
| 🔧 [Full CLI Reference](docs/cli-reference.md) | All 28 commands with usage and examples |
| 🛠️ [Configuration & Integrations](docs/configuration-and-integrations.md) | Global config, API keys, and Gemini CLI integration |
| 📖 [Example Walkthroughs](examples/) | End-to-end lifecycle examples for 6 project types |

---

Expand Down
67 changes: 67 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Gemstack Documentation

**Opinionated AI agent orchestration framework for [Gemini CLI](https://github.com/google-gemini/gemini-cli) and [Antigravity](https://github.com/google-gemini/antigravity).**

Gemstack gives your Gemini-powered agents architectural memory, topology-aware guardrails, and a 5-step lifecycle that forces them to verify their work against your terminal — not just hallucinate a solution and tell you it's done.

---

## Getting Started

New to Gemstack? Start here:

- 📚 **[Getting Started](getting-started.md)** — Installation, initialization, and your first workflow

---

## Core Concepts

Understand the ideas that make Gemstack work. Read them in order:

1. ⚙️ **[The `.agent/` Context System](the-agent-context.md)** — How the 5 context files (ARCHITECTURE, STYLE, TESTING, PHILOSOPHY, STATUS) drive all AI behavior
2. 🔄 **[The 5-Step Lifecycle](the-5-step-lifecycle.md)** — Spec → Trap → Build → Audit → Ship explained in depth
3. 📐 **[Topology-Aware Guardrails](topologies.md)** — Domain-specific guardrails for backend, frontend, ML/AI, infrastructure, and library/SDK projects
4. 🧠 **[The Context Compiler](context-compiler.md)** — How Gemstack assembles JIT prompts from roles, phases, guardrails, and your `.agent/` files

---

## Feature Guides

Deep dives into Gemstack's major capabilities:

| Guide | What You'll Learn |
|-------|-------------------|
| 🤖 **[Autonomous Execution](autonomous-execution.md)** | The `gemstack run` command — compile context, call Gemini, write files, track costs |
| 🔍 **[Drift Detection](drift-detection.md)** | Catch when your codebase drifts from your `.agent/` documentation |
| 🔌 **[MCP Server & IDE Integration](mcp-server.md)** | Connect Gemstack to Cursor, Claude Desktop, Gemini CLI, and Cline |
| 🧩 **[Building Custom Plugins](plugins.md)** | Extend Gemstack with custom topologies, roles, and hooks |

---

## Reference

| Reference | Description |
|-----------|-------------|
| 🔧 **[Full CLI Reference](cli-reference.md)** | All 28 commands with usage, flags, and examples |
| 🛠️ **[Configuration & Integrations](configuration-and-integrations.md)** | Global config, API keys, cost tracking, Gemini CLI integration |

---

## Example Walkthroughs

End-to-end examples showing the complete 5-step lifecycle for different project types:

| Example | Topology | Description |
|---------|----------|-------------|
| [Full-Stack](../examples/full-stack.md) | `[frontend, backend]` | Go backend + Next.js frontend — sleep trends dashboard |
| [Frontend](../examples/frontend.md) | `[frontend]` | React SPA — component library with design system |
| [Backend + ML/AI](../examples/backend-ml-ai.md) | `[backend, ml-ai]` | Python API with LLM integration |
| [Full-Stack + AI](../examples/full-stack-ai.md) | `[frontend, backend, ml-ai]` | Full-stack app with AI-powered features |
| [Infrastructure](../examples/infrastructure.md) | `[infrastructure]` | Docker Compose + Terraform homelab |
| [Library/SDK](../examples/library-sdk.md) | `[library-sdk]` | Python package published to PyPI |

---

## Contributing

See [CONTRIBUTING.md](../CONTRIBUTING.md) for development setup, code style, testing requirements, and pull request guidelines.
1 change: 1 addition & 0 deletions docs/assets/screenshots/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Placeholder — screenshots will be added here
Binary file added docs/assets/screenshots/hero-terminal.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/assets/videos/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Placeholder — videos/GIFs will be added here
Loading
Loading