Skip to main content

An AI-native dev harness. Solemnly swear you're up to no good.

Project description

marauders-mischief

An AI-native dev harness. Solemnly swear you're up to no good.

A versioned, harness-agnostic development framework for AI-native software engineering. Size-adaptive sessions, multi-agent quality gates, persistent context across sessions.

Built for Claude Code today; designed to support Codex CLI and Cursor in future releases.

Status: Pre-release. v0.4.0 ships single-repo gh issue creation and drops the legacy service-organized layout — Stage 2b now actually creates GitHub issues against the repo's origin remote.


Install

pipx install marauders-mischief
# or
uv tool install marauders-mischief

Quickstart

mkdir my-new-project && cd my-new-project
git init
mar init

This scaffolds the harness into your repo:

my-new-project/
├── CLAUDE.md                        Project-level context (you own)
├── .brain/                          Curated, distilled context (you own)
│   ├── CONTEXT.md
│   ├── STATE.md
│   ├── STACK.md
│   ├── DECISIONS.md
│   └── RISKS.md
├── .claude/
│   ├── agents/                      12 subagents (research, plan, execute, ...)
│   ├── commands/mar/                19 slash commands (/mar:*)
│   └── settings.json                Hooks + permissions (mar manages its keys)
├── ops/
│   ├── memory/                      Knowledge capture pipeline (uv-managed)
│   ├── workflow/                    Session/phase/stage spec + scripts
│   └── ideas/                       Idea lifecycle machinery
└── .mm/
    ├── version                      Installed mar version
    └── lockfile.json                SHA256 of every framework file

Then:

cd ops/memory && uv sync   # one-time: set up memory pipeline deps

Fill in .brain/CONTEXT.md and .brain/STATE.md, and you're ready to run /mar:session-start in Claude Code.

Commands

Command Purpose
mar init Scaffold the harness into the current directory
mar update Pull latest framework version and apply updates (v0.2)
mar status Show installed version and local drift (v0.2)
mar doctor Verify install integrity (v0.2)

Flags:

  • --target <adapter> — currently claude (default). codex and cursor adapters land in future releases.
  • --force — overwrite scaffolded files (.brain/*, CLAUDE.md) that already exist.
  • --project-name <name> — substituted into Jinja-rendered templates. Defaults to the current directory name.

How it works

File classes

Every file shipped by mar belongs to one of three classes (see docs/file-classes.md):

Class Behavior
framework Owned by mar. Overwritten on mar update. Conflict-detected if you edit locally.
scaffolded Created once at init. You own thereafter; mar never touches.
merged mar owns specific keys; you own everything else in the same file. Update reconciles only mar's keys.

This split is what lets mar update upgrade the framework without clobbering your project's content.

Adapter layer

The mar core is harness-agnostic in spirit. Each harness (Claude Code, Codex CLI, Cursor) gets a small adapter that:

  • Validates which paths the framework can write to
  • Provides merge strategies for files that mix framework wiring with user config (e.g., .claude/settings.json for Claude Code)

Today only the Claude Code adapter is implemented. Adding a new adapter means subclassing Adapter and MergeStrategy.

The workflow framework

mar's centerpiece is a size-adaptive session loop:

  • XS edits skip the framework entirely
  • S/M sessions collapse to a single phase
  • L/XL sessions get an explicit meta-plan with human approval gates between phases

Each phase runs through stages: research → plan → execute → test → refine → simplify → verify → review + tester → integrate. A PreToolUse scope hook prevents agents from editing outside their declared scope.

Full spec lives in your repo at ops/workflow/README.md after mar init.

Slash commands

After mar init, these are available in Claude Code:

Command What it does
/mar:session-start Start a new session (size/guidance/autonomy picker)
/mar:plan Run research + planning for the current sub-stage
/mar:ship Run execute → test → refine → simplify → verify → review + tester
/mar:integrate Compose commit story, propose .brain/ writebacks
/mar:approve <gate> Pass a gate
/mar:iterate <gate> "<note>" Refine in place with new direction
/mar:replan Discard current plan and re-plan from scratch
/mar:status Current session status
/mar:session-list All active and recently archived sessions
/mar:idea-new Capture an incubating idea

Full reference: see .claude/commands/mar/*.md after install.

Development

Clone and set up:

git clone git@github.com:sindreespeland/marauders-mischief.git
cd marauders-mischief
uv sync --dev

Run tests:

uv run pytest
uv run ruff check src tests

Try mar init against a throwaway directory:

mkdir /tmp/test-install && cd /tmp/test-install
uv run --project ~/repos/marauders-mischief mar init

Roadmap

  • v0.1mar init, Claude Code adapter, the workflow framework (v2)
  • v0.2 — multi-role meta-research (workflow v3): parallel role-agents at Stage 2a with a mid-research briefing gate
  • v0.3 — meta-planning v4: strategist / author / skeptic with named decomposition strategies + 4-option meta-plan gate (approve / iterate / revise / redirect)
  • v0.4 — single-repo gh issue creation: Stage 2b creates real GitHub issues against origin; service-organized layout removed
  • v0.5mar update (with conflict resolution), mar status, mar doctor
  • v0.6 — Codex CLI adapter, Cursor adapter
  • v0.7mar update --auto-check (optional auto-notify on session start)

License

MIT — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

marauders_mischief-0.4.0.tar.gz (171.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

marauders_mischief-0.4.0-py3-none-any.whl (226.2 kB view details)

Uploaded Python 3

File details

Details for the file marauders_mischief-0.4.0.tar.gz.

File metadata

  • Download URL: marauders_mischief-0.4.0.tar.gz
  • Upload date:
  • Size: 171.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for marauders_mischief-0.4.0.tar.gz
Algorithm Hash digest
SHA256 5d26443b0dfc64257c9cf52e2145793f596a2b36df9519963f492042d17a9e02
MD5 5b080e01d1f97fc8181be2a68d54fccd
BLAKE2b-256 5ec84cb2efc0924d15f4375dc7c6626ddc04681e51265f0eb6ad4da35fad0324

See more details on using hashes here.

Provenance

The following attestation bundles were made for marauders_mischief-0.4.0.tar.gz:

Publisher: release.yml on sindreespeland/marauders-mischief

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file marauders_mischief-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for marauders_mischief-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e70ca971c9d8ada65c8af527e676212db56532fa72ed28a5a2266ea0b5d9be73
MD5 45fa1c962d6aae467f5702f5deb9f624
BLAKE2b-256 66627f81644f0c7eab47b4e1a5f2526d4f5043877c8f934f059582d3c0dea578

See more details on using hashes here.

Provenance

The following attestation bundles were made for marauders_mischief-0.4.0-py3-none-any.whl:

Publisher: release.yml on sindreespeland/marauders-mischief

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page