Manara πΌ

Keep your Claude Code project moving forward β never starting over.
Manara is a discipline layer for Claude Code. It doesn't write your code, and it doesn't replace your tools β it drives the ones you already have.
Every change lands as a small, reviewed, checkpointed slice you can roll back, and your progress is saved as you go β so a cleared or interrupted chat resumes instead of starting over. One command: /manara.
Never start over. Never lose your place. Never wonder what's next.
Manara (Ω
ΩΩΨ§Ψ±Ψ©) means lighthouse β it tells you where you are and lights the next step.
π Watch it work
You: /manara
> build a login page
Manara: New project β I'll run in Smart auto: I handle routine steps,
and ask before anything with real impact. Good?
That's one slice β the login form. Plan:
1. spec the behavior first (it's auth β sensitive)
2. build it test-first
3. run the code-review + test guards
4. you eyeball it, then I checkpoint
β¦buildingβ¦ β¦guards passedβ¦ Looks right on your end?
You: yep
Manara: β Committed "login form" locally β clean rollback point saved.
Next up: password reset. Clear the chat anytime; I'll resume here.
No jargon, no guessing which tool to run next. You say what you want; Manara runs the disciplined path to get there β and tells you why at each step.
π‘ Why Manara exists
Claude Code writes code fast β but on a long, multi-session project, unstructured speed is how work quietly becomes an unreviewable, uncheckpointed pile you can't unwind. Manara came out of exactly those failures on a real build. It isn't a faster way to write code; it's the discipline that keeps the fast part from costing you the project.
βοΈ Why it's different
| Plain Claude Code | With Manara |
|---|
| You remember which tool to run, and when | It picks the right tool at the right moment β and says why |
| A cleared or summarized chat forgets everything | It resumes from a small saved progress file |
| Changes pile up into one hard-to-unwind lump | One slice at a time, each checkpointed |
| Reviews and tests are easy to skip "just this once" | Quality guards can't be switched off |
| A stuck problem stalls the whole session | It can hand the problem to another AI β guards still run on the result |
β¨ What you get
- π Behavior written first, in plain words. On anything sensitive, Manara states the intended behavior before code β so "clean code that does the wrong thing" gets caught early.
- ποΈ You set the autonomy. Manual, Smart auto, Full auto, or Unrestricted β Manara decides routine things itself and asks before anything that matters.
- π― One slice at a time. No bundling many changes into a risky lump β one testable piece, start to finish, before the next.
- πΎ A checkpoint after every verified slice. There's always a clean point to roll back to. You never start over.
- π‘οΈ Guards you can't switch off. Code review and test review run in every mode. You can hint which runs; never whether.
- π€ Stuck? It calls in Codex. Another AI takes a crack at hard problems β with your guards still checking its output, and a hard cap so the two can't loop forever.
- π§ It remembers. A long, cleared, or interrupted session picks up cleanly from where you were.
ποΈ Autonomy modes β you pick up front
| Mode | Routine steps | Real-impact steps | Irreversible steps |
|---|
| Manual | π asks | π asks | π asks |
| Smart auto (default) | β‘ decides | π asks | π asks |
| Full auto | β‘ decides | β‘ decides | π asks |
| Unrestricted β οΈ | β‘ decides | β‘ decides | β‘ decides* |
* only after an explicit warning + confirmation.
Automatic checkpoints (one slice = one safe point to roll back to)
Once a slice passes its quality checks and you've confirmed it's right, Manara offers to commit it β deliberately cautiously:
- Both gates required. Guards pass and you explicitly verify. Green checks alone are never enough β you're the final say.
- You see it first. Manara shows the exact files and the proposed message, and commits only after you confirm.
- Local only β never pushed. Pushing to a remote stays your manual action.
- Your progress file is never committed. Manara's own
.manara/ folder is left out, and your .gitignore is respected.
π‘οΈ A real bug it caught
While building a screenshot-redaction tool, Manara handed a review to Codex. Codex flagged something the author had missed: resizing a redaction stroke could expose the hidden content on export β a real privacy leak. Manara reproduced it, fixed it, and locked it shut with a regression test.
That's the point. Manara catches what you'd miss β and its guards run on borrowed help, too.
βοΈ How it works
The same eight steps every run β the diagram is the map; the sequence below is one slice, start to finish.
sequenceDiagram
autonumber
participant You
participant Manara
participant Guards
participant Git
You->>Manara: /manara β describe the task
Manara->>Manara: resume state Β· scope one slice
Manara->>You: behavior spec (if sensitive) β confirm?
You-->>Manara: yes
Manara->>Manara: build test-first
Manara->>Guards: code + test review
Guards-->>Manara: pass (a fail blocks here)
Manara->>You: verify it in your app?
You-->>Manara: approved
Manara->>Git: checkpoint the slice (local only)
Manara-->>You: progress saved Β· next slice
Important
Guaranteed in every mode β autonomy changes what Manara asks, never the quality bar:
- Quality guards can't be turned off β code + test review run on every change; you pick which, never whether.
- Sensitive work is specced first β auth / redaction / data-safety slices get a plain-language behavior spec before any code.
- Green checks are never "done" β your eyes-on verification is always the final step before a slice is locked in.
- Nothing irreversible without asking β destructive actions always prompt, unless you deliberately enable Unrestricted.
ποΈ Architecture
Manara is the brain (judgment); it calls existing skills and small scripts (the plumbing) β never re-implementing them.
flowchart TB
You["You β plain language:<br/>build Β· fix Β· review"]
subgraph Brain["manara β the orchestrator brain"]
Manara["Decide the stage, pick one slice<br/>Choose the autonomy mode<br/>Route to the right tool"]
end
You --> Manara
Manara -->|invokes existing skills| Tools["tdd Β· clean-code-guard<br/>test-guard Β· Codex when stuck"]
Manara -->|calls, never re-implements| Plumbing["state.py Β· run_guards.py<br/>commit_slice.py"]
Plumbing --> State[(".manara/<br/>resumable progress")]
Plumbing --> Git[("git<br/>one checkpoint per slice")]
π¦ Install
Easy way (recommended)
Run one command. It downloads Manara into the right folder for you, and you can re-run it anytime to update.
macOS / Linux
curl -fsSL https://raw.githubusercontent.com/OmerWafaey/manara/main/install.sh | bash
Windows (PowerShell)
irm https://raw.githubusercontent.com/OmerWafaey/manara/main/install.ps1 | iex
That's it β Manara installs to ~/.claude/skills/manara so Claude Code finds it in every project.
Manual way (fallback)
Manara is a Claude Code skill, not an npm package β npm install won't put it in the right place. To install by hand, just clone it into your user-skills folder:
git clone https://github.com/OmerWafaey/manara.git ~/.claude/skills/manara
On Windows that folder is C:\Users\<you>\.claude\skills\manara\.
Requirements: Python 3.7 or newer (for the small state/progress scripts). Nothing else to install β the scripts use only Python's built-in library.
Tip
On Windows, use py -3, not python. On a fresh setup, typing python often opens the Microsoft Store instead of running Python. Manara calls its scripts through the py -3 launcher, which always finds the real Python 3 β check with py -3 --version. (macOS/Linux users can use python3 directly.)
π Run /manara from inside your project folder
Warning
Always run /manara from inside your project folder. Manara reads the current directory to find your saved .manara/ progress file. Run it from the skills folder β or anywhere that isn't your project β and it can't find your state, so it can't resume.
This is the single most common mistake, and the fix is simple:
cd <your-project> # the folder you're actually building
/manara # now Manara can read and resume your progress
βΆοΈ How to use it
Open your project in Claude Code and run /manara:
cd <your-project>
/manara
> "build the MVP β a tool that blurs sensitive info in screenshots before sharing"
Manara works out loud, so you see every decision: it sets up (or resumes) your .manara/ progress file, sizes the work, picks the next step and explains why, runs the right tools β building test-first, then the code and test reviewers before moving on β and saves progress as it goes. A failed quality check stops and tells you rather than slipping through. At the end you get a short report: what ran, what was skipped and why, and where you are now.
Clear the chat, run /manara again in the same folder, and it picks right back up.
Note
The guards always run. Manara leans on "guard" tools β code review, test review, and so on. You can hint which one runs, but you can't switch a guard off. If a guard you need isn't installed, Manara points it out instead of silently skipping it.
π A note on Spec Kit (optional)
For larger, more complex projects, Manara can use Spec Kit (the specify tool) to write a formal spec first. This is optional β if you don't have it installed, Manara simply skips that step and tells you it did.
One rule worth knowing: Spec Kit always runs inside your project, never inside Manara's own folder. Three folders stay separate and never get mixed up:
| Folder | What it holds |
|---|
~/.claude/skills/manara/ | Manara itself (you install it here, once) |
<your-project>/.manara/ | Your saved progress for that project |
<your-project>/specs/ | Spec Kit's output, if you use it |
π§ What Manara doesn't do (yet)
The core is still v1, intentionally small and careful (v2 is adding capabilities one verified slice at a time β see the roadmap):
- It won't act behind your back on anything risky. You pick up front how much it decides on its own (see Smart autonomy in the roadmap) β but by default it still asks before anything with real impact, and it never does something irreversible without asking, unless you deliberately turn on Unrestricted mode.
- One terminal at a time β no coordinating parallel sessions.
- Just enough memory to resume β not a full long-term memory yet.
- Quality checks can't be turned off β a hint can pick which one runs, never whether it runs.
πΊοΈ Roadmap
v2 (in progress) β shipping one careful slice at a time.
Done so far: