Skip to content

Repository files navigation

Shadow reads a plan, acts on one bounded task, verifies proof, and leaves a resume point.

Shadow

Shadow is you, one step down. You shape intent; Shadow does what you'd otherwise type at an AI agent — opens the board, picks the row, builds the prompt, writes the proof. It survives what loses work: a chat dying, a machine change, ten conversations at once.

Install

git clone https://github.com/firstbitelabsllc/shadow.git && cd shadow
bash install.sh && shadow doctor

Git, Bash, Python 3.10+, one native host (Claude Code, Codex, or Cursor). No Node, no npm — the clone is the install, git pull is the update. Then paste the standing goal from host integration into your hosts' instruction files.

Use

shadow status                  # the board — same list from any directory, any machine
shadow amp                     # one goal block that POINTS at the plan, ≤4k chars
shadow throw --task '~ab12'    # claim a row before handing it to another seat
shadow accept --row '~ab12'    # rerun the proof in a clean checkout, then flip the row

Also init --here, lint, browse, host run, doctor.

Three ideas

One plan, in git. Each project's truth is its own PLAN.md, so Shadow opens the same board anywhere — an empty directory falls back to your portfolio instead of pretending nothing exists. Chat is a projection; the plan is the memory.

The goal is a pointer. No prompt carries ten projects in 4,000 characters, so amp doesn't try: authority ref, one resume row, its proof, and the rule that when block and plan disagree, the plan wins.

No proof, no completed. Every task carries a proof: that can refuse bad work — cmd, read, or gate <owner>. accept reruns it in a clean checkout and is the only path that flips a task.

What it won't do

No database, daemon, scheduler, or transcript memory — a surface that could mutate a row outside PLAN.md is banned. Native hosts keep auth and model choice. host run runs one sealed task and never launches work itself. accept reruns only cmd proofs; read and gate are judgments a person re-observes. A receipt is evidence, not acceptance.

Develop

scripts/shadow-python.sh -m unittest discover -s tests -p 'test_*.py' — the method is one page, AGENT.md, enforced by the grammar.

Quick start · Commands · Amp · Privacy · MIT.

About

Shadow is you, one step down: it opens the same durable plan from any CLI, turns a goal into a pointer instead of a copy, dispatches conversations without losing them, and refuses to call anything done without proof. Git, Bash, Python — no daemon, no second store.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages