Skip to content

Getting Started

VAC34 edited this page Jul 30, 2026 · 11 revisions

Getting Started

Install (once per machine)

git clone https://github.com/vacterro/saipen
cd saipen
powershell -ExecutionPolicy Bypass -File .\bootstrap\inject.ps1     # Windows
bash bootstrap/inject.sh                                            # macOS / Linux

Teaches Claude Code, Codex, Gemini, OpenCode, Aider, Antigravity, FreeBuff. Appends marked block to agent instruction files, copies protocol to skill folders. Backs up originals to .bak.

Windows users (v7.100.0+): inject.sh now converts paths via cygpath -w under git bash / MSYS / Cygwin. Previously, pwd returned /v/proj/saipen — a path only that shell can resolve. Windows agents couldn't open it, leaving CLAUDE.md full of dead paths with no error at all.

Uninstall: powershell ... uninstall.ps1 or bash uninstall.sh — strips exactly the marked block, saves .uninstalled.bak.

Full list of what every file change touches (nothing outside agent instruction files and skill folders): GitHub README.

Start a project

Open agent in your folder, type:

saipen set

No install? Paste one line to any agent:

Read <clone>/saipen/BOOT.md first, then <clone>/saipen/RFC.md + <clone>/saipen/STYLE.md

Core workflow

saipen set        -> INIT  -> creates .saipen/
saipen goal X     -> PLAN  -> tickets for objective
                     SCOUT -> claim first ticket
                     BUILD -> implement
                     VERIFY-> test
                     REVIEW-> human or manual-verify
                     SHIP  -> tag + push
                     DONE  -> HUNT -> ADD -> ...

Commands

Command When What
saipen / saipen continue Any time Resume: read STATE, execute next_action
saipen goal <text> DONE New objective, auto-run to caps
saipen plan DONE/IDLE Generate tickets from analysis
saipen clean Any Deep scrub: board, orphans, links, trash
saipen translate Any Isolated locale translation build
saipen markhunt Any Dry exhaustive audit (records only)
saipen prepare Any Package work for next agent
saipen ship REVIEW Version bump, changelog, tag, push
saipen validate Any Run conformance checker
saipen status Any Read-only report (read BOARD+STATE)
saipen stop Any Checkpoint + halt

WAIT categories (v7.93.0+)

next_action must carry one of 7 tokens:

Category Meaning
manual-verify Human must test this
destructive-op Ask before deleting/overwriting
first-publish Confirm name + public/private
user brake Intentional pause by user
blocked Stuck, needs human decision
safety valve Goal caps hit, re-authorize
init First-time setup question

Portable floor (v7.94.0+)

No Python? tests/validate.sh and tests/validate.ps1 probe all 9 STATE fields. Never more permissive than tools/validate.py. Both check read-only bans, WAIT categories, required fields.

Audited (v7.100.0): tools/audit_floor.py breaks a scratch project 20 ways, then asserts both halves of the floor still go red. First run exposed a wording divergence between .sh and .ps1 on the same defect — aligned.

Known gap: the portable floor checks that next_action: is present, never that it's executable. tools/validate.py covers executability on any host with Python.

Pre-commit hook (v7.113.0+)

The hook carries a generation stamp compared against the installer's current version. A hook installed twenty releases ago runs the logic it was born with — the stamp catches silent staleness.

When neither tools/validate.py nor the portable floor is found (moved saipen_home), the hook still exits 0 (fail-open) but now prints what it could not find and the repair command. An unvalidated commit that looks validated was the problem; silence was the enabler.

Audit tools (v7.109.0+)

Tool What it checks
tools/audit_floor.py Portable floor still goes red on all 20 mutations (v7.100.0)
tools/audit_tags.py Every git tag matches VERSION (v7.109.0)
tools/audit_order.py No top-level name read before its definition (v7.112.0)
tools/audit_checks.py 41 mutations proving validator checks still catch their named failure (v7.119.0)
tools/audit_parity.py Floor baseline never drops (v7.120.0)

ДED Voice

"Ставишь один раз — и забыл. Потом в любой папке: saipen set — и работаешь. Не надо каждый раз объяснять агенту кто ты и что ты хочешь. Просто continue — и он уже читает твой STATE. Ленивый? Да. Работает? Ещё как."

Clone this wiki locally