diff --git a/README.md b/README.md index 79858c1..6bcc8b8 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ brew install agentic-stack # drop the brain into any project — the onboarding wizard runs automatically cd your-project agentic-stack claude-code -# or: cursor | windsurf | opencode | openclaw | hermes | pi | standalone-python +# or: cursor | windsurf | opencode | openclaw | hermes | pi | standalone-python | antigravity ``` ### Windows (PowerShell) @@ -52,7 +52,7 @@ brew update && brew upgrade agentic-stack git clone https://github.com/codejunkie99/agentic-stack.git cd agentic-stack && ./install.sh claude-code # mac / linux / git-bash # or on Windows PowerShell: .\install.ps1 claude-code -# adapters: claude-code | cursor | windsurf | opencode | openclaw | hermes | pi | standalone-python +# adapters: claude-code | cursor | windsurf | opencode | openclaw | hermes | pi | standalone-python | antigravity ``` ## Onboarding wizard @@ -154,9 +154,9 @@ harnesses. - `show.py` — colorful dashboard of brain state (episodes, candidates, lessons, failing skills, 14d activity sparkline). `--json` / `--plain` / `NO_COLOR` flags. -- **Adapter wiring for recall across all 8 harnesses.** Every adapter +- **Adapter wiring for recall across all harnesses.** Every adapter (`claude-code`, `cursor`, `windsurf`, `opencode`, `openclaw`, `hermes`, - `pi`, `standalone-python`) now instructs the model to run + `pi`, `standalone-python`, `antigravity`) now instructs the model to run `recall.py ""` before deploy / migration / timestamp / debug / refactor work, and to surface results in a `Consulted lessons before acting:` block. @@ -256,7 +256,8 @@ adapters/ # one small shim per harness ├── openclaw/ (system-prompt include) ├── hermes/ (AGENTS.md) ├── pi/ (AGENTS.md + .pi/skills symlink) -└── standalone-python/ (DIY conductor entrypoint) +├── standalone-python/ (DIY conductor entrypoint) +└── antigravity/ (ANTIGRAVITY.md) docs/ # architecture, getting-started, per-harness install.sh # mac / linux / git-bash installer @@ -281,6 +282,7 @@ onboard_write.py # atomic file write with backup | **Hermes Agent** | `AGENTS.md` (agentskills.io compatible) | partial (own memory) | | **Pi Coding Agent** | `AGENTS.md` + `.pi/skills/` | no (extension system) | | **Standalone Python** | `run.py` (any LLM) | yes (full control) | +| **Antigravity** | `ANTIGRAVITY.md` | yes (system context) | ## Seed skills diff --git a/adapters/antigravity/ANTIGRAVITY.md b/adapters/antigravity/ANTIGRAVITY.md new file mode 100644 index 0000000..c7b5489 --- /dev/null +++ b/adapters/antigravity/ANTIGRAVITY.md @@ -0,0 +1,44 @@ +# Project Instructions (Antigravity) + +This project uses the **agentic-stack** portable brain. All memory, skills, +and protocols live in `.agent/`. + +## Before doing anything +1. Read `.agent/AGENTS.md` — it's the map. +2. Read `.agent/memory/personal/PREFERENCES.md` — how the user works. +3. Read `.agent/memory/semantic/LESSONS.md` — what we've learned. +4. Read `.agent/protocols/permissions.md` — what you can and cannot do. + +## Before every non-trivial task — recall first +For any task involving **deploy**, **ship**, **release**, **migration**, +**schema change**, **timestamp** / **timezone** / **date**, **failing test**, +**debug**, **investigate**, or **refactor**, run recall FIRST and present +the surfaced lessons to yourself before acting: + +```bash +python3 .agent/tools/recall.py "" +``` + +If the output contains a "Consulted lessons for intent:" block with one or +more results, show them to the user in a `Consulted lessons before acting:` +block and adjust your plan to respect them. If a surfaced lesson would be +violated by your intended action, stop and explain. + +This is how graduated lessons actually change behavior across harnesses. +Skip it and the system is just files on disk. + +## While working +- Consult `.agent/skills/_index.md` and load the full `SKILL.md` for any + skill whose triggers match the task. +- Update `.agent/memory/working/WORKSPACE.md` as the task evolves. +- Log significant actions to `.agent/memory/episodic/AGENT_LEARNINGS.jsonl` + via `.agent/tools/memory_reflect.py`. +- Quick state check any time: `python3 .agent/tools/show.py`. +- Teach the agent a new rule in one shot: + `python3 .agent/tools/learn.py "" --rationale ""`. + +## Rules that override defaults +- Never force push to `main`, `production`, or `staging`. +- Never delete episodic or semantic memory entries — archive them. +- Never modify `.agent/protocols/permissions.md`. +- Prefer using the `agentic-stack` tools for all repository-level learning and recall chores. diff --git a/adapters/antigravity/README.md b/adapters/antigravity/README.md new file mode 100644 index 0000000..b914531 --- /dev/null +++ b/adapters/antigravity/README.md @@ -0,0 +1,20 @@ +# Antigravity adapter + +## Install +```bash +./install.sh antigravity +``` + +## What it wires up +The Antigravity adapter drops `ANTIGRAVITY.md` into the project root. This file provides +the system context needed for the agent to utilize the portable brain in `.agent/`. + +## Verify +Ask the agent "What's in your lessons file?" — it should read +`.agent/memory/semantic/LESSONS.md`. + +## Notes +The Antigravity ruleset ensures that the agent is aware of the `agentic-stack` +protocols and memory management tools, enabling knowledge persistence across sessions. +It is designed to be compatible with any agent that respects root-level instruction +files similar to `CLAUDE.md`. diff --git a/docs/per-harness/antigravity.md b/docs/per-harness/antigravity.md new file mode 100644 index 0000000..0feb07e --- /dev/null +++ b/docs/per-harness/antigravity.md @@ -0,0 +1,30 @@ +# Antigravity setup + +## What the adapter installs +- `ANTIGRAVITY.md` at project root + +## Install +```bash +./install.sh antigravity +``` + +## How it works +The Antigravity agent detects the `ANTIGRAVITY.md` file in the project root. This +file instructs the agent to consult the `.agent/` folder for all knowledge, skills, +and memory requirements. It follows a similar pattern to `CLAUDE.md` but is +tailored for the Antigravity ruleset. + +## Logging note +Antigravity agents are instructed to call `memory_reflect.py` after significant +actions to maintain the episodic memory layer. If the harness supports automated +hooks, these should be configured to run `.agent/memory/auto_dream.py` on session exit. + +## Troubleshooting +- If the agent is not following the instructions in `ANTIGRAVITY.md`, prompt it to "Consult the project instructions in ANTIGRAVITY.md". +- Ensure that the `.agent` folder exists and is populated. If not, re-run the installer. + +## Manual Usage +The tools can be manually triggered from the terminal: +- `python3 .agent/tools/recall.py "intent"` to search semantic memory. +- `python3 .agent/tools/learn.py "rule"` to graduate a new lesson permanently. +- `python3 .agent/tools/show.py` to see the dashboard of brain state. diff --git a/install.ps1 b/install.ps1 index b420595..b1bb556 100644 --- a/install.ps1 +++ b/install.ps1 @@ -1,6 +1,6 @@ # install.ps1 — Windows PowerShell installer (parallel to install.sh) # Usage: .\install.ps1 [target-dir] [-Yes] [-Reconfigure] [-Force] -# adapter-name: claude-code | cursor | windsurf | opencode | openclaw | hermes | standalone-python +# adapter-name: claude-code | cursor | windsurf | opencode | openclaw | hermes | standalone-python | antigravity # target-dir: where your project lives (default: current dir) # -Yes accept all wizard defaults (safe for CI) # -Reconfigure re-run the wizard on an existing project @@ -25,7 +25,7 @@ $Here = Split-Path -Parent $MyInvocation.MyCommand.Path $ValidAdapters = @( 'claude-code', 'cursor', 'windsurf', 'opencode', 'openclaw', 'hermes', - 'standalone-python' + 'standalone-python', 'antigravity' ) if ($Adapter -notin $ValidAdapters) { Write-Error "unknown adapter '$Adapter'. valid: $($ValidAdapters -join ' ')" @@ -75,6 +75,9 @@ switch ($Adapter) { 'standalone-python' { Copy-Item (Join-Path $Src 'run.py') (Join-Path $TargetDir 'run.py') -Force } + 'antigravity' { + Copy-Item (Join-Path $Src 'ANTIGRAVITY.md') (Join-Path $TargetDir 'ANTIGRAVITY.md') -Force + } } Write-Host "done." diff --git a/install.sh b/install.sh index 8d41320..b1183b5 100755 --- a/install.sh +++ b/install.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash # install.sh — copy an adapter into the consuming project, then run the onboarding wizard # Usage: ./install.sh [target-dir] [--yes] [--reconfigure] -# adapter-name: claude-code | cursor | windsurf | opencode | openclaw | hermes | pi | standalone-python +# adapter-name: claude-code | cursor | windsurf | opencode | openclaw | hermes | pi | standalone-python | antigravity # target-dir: where your project lives (default: current dir) # --yes accept all wizard defaults without prompting (safe for CI) # --reconfigure re-run the wizard even if PREFERENCES.md is already filled @@ -13,7 +13,7 @@ HERE="$(cd "$(dirname "$0")" && pwd)" if [[ -z "$ADAPTER" ]]; then echo "usage: $0 [target-dir]" >&2 - echo "adapters: claude-code cursor windsurf opencode openclaw hermes pi standalone-python" >&2 + echo "adapters: claude-code cursor windsurf opencode openclaw hermes pi standalone-python antigravity" >&2 exit 2 fi @@ -88,6 +88,9 @@ case "$ADAPTER" in standalone-python) cp "$SRC/run.py" "$TARGET/run.py" ;; + antigravity) + cp "$SRC/ANTIGRAVITY.md" "$TARGET/ANTIGRAVITY.md" + ;; *) echo "error: unknown adapter '$ADAPTER'" >&2 exit 1