Skip to main content

MixerSystem workflow engine package

Project description

MixerSystem

MixerSystem is a Python package that runs AI-powered workflows for task creation, planning, implementation, documentation, and rule improvement — driven by the context you define in a central .mixer/ folder in your project.

The workflows are built around agentic tools such as Claude Code, Gemini CLI, and Codex CLI.

How It Works

You configure your project's .mixer/ folder with docs and rules that shape how each workflow behaves. You run workflows from the terminal — either interactively via mixer <workflow> (a form appears with pre-filled fields) or headlessly via mixer run <workflow> --work_folder=<path> [--key=value...].

Everything operates on a work folder basis. One work folder = one task = one focused unit of work. The folder name is the task ID — for example, tasks/SYS-42 means the task ID is SYS-42. If the folder doesn't exist, it's created automatically. Each workflow reads from and writes to this folder, producing a single primary artifact (task.md, plan.md, work.md, update.md, upgrade.md).

mixer task      # interactive form
mixer plan
mixer work
mixer update
mixer upgrade

Workflows

The core delivery sequence is task → plan → work → update → upgrade. Each step feeds into the next, forming a self-correcting loop — update improves the docs, upgrade improves the rules.

All workflows accept an optional --instructions parameter for passing ad-hoc guidance to the builder agent at runtime (e.g., --instructions="Focus on performance").

Task

Creates task.md — the starting point for any work item. You provide a work folder and description. A router agent resolves which project modules are relevant (or you specify modules explicitly). Supports syncing tasks to and from Linear.

Plan

Produces plan.md. A builder drafts the plan, then review agents (rules checker and completeness checker) evaluate it. Failed reviews feed back to the builder for revision, up to max_revisions times. A formatter standardizes the final output.

Supports parallel branch planning — multiple builders draft independently, a merger synthesizes their work, and the builder writes the final plan from that. You can choose which provider runs the builder (Claude, Gemini, or Codex).

A plan can also be created without a task — in that case the completeness checker is skipped since there's nothing to check against.

Work

Implements the plan, producing work.md. A builder writes the code, then a tester validates it. If tests fail, feedback goes back to the builder. This build-test loop repeats up to max_test_iterations times (default 5).

Update

Produces update.md — analyzes completed work against existing doc.md files, applies documentation updates directly, and reports what changed.

Upgrade

Produces upgrade.md — mines agent logs (agent_trace.log, agent_raw.log) for generalizable lessons, applies rule improvements directly, and reports what changed.

.mixer/ Configuration

Docs

Each module in your codebase carries a doc.md file with a name field in its YAML frontmatter — this is the module's identity anchor. Running mixersystem sync scans for these files and builds the module tree into .mixer/settings.json. Workflows resolve context by walking the module's ancestor chain, collecting relevant docs along the way.

Rules

Rules live under .mixer/rules/, grouped by action type, with one file per module:

Rules are optional — they give you per-module, per-action control over how builders behave.

Optional: Linear Integration

Set LINEAR_API_KEY in your project .env and configure .mixer/settings.json:

{ "linear": { "team_prefix": "SYS", "team_id": "" } }

Tasks can be fetched from Linear by ID, or pushed/updated in Linear after creation.

A Claude Code skill is also synced to .claude/skills/mixer/SKILL.md — it lets you call workflows through an agent conversation, useful for remote sessions.

Setup

pip install mixer-system[tui]
mixersystem sync

To target a different project: mixersystem sync --project_root=/path/to/project

After upgrading (pip install -U mixer-system), re-run mixersystem sync to refresh generated files.

sync scans your project for doc.md files, builds the module tree into .mixer/settings.json, and syncs the coordinator skill to .claude/skills/mixer/SKILL.md.

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

mixer_system-0.1.16.tar.gz (49.4 kB view details)

Uploaded Source

Built Distribution

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

mixer_system-0.1.16-py3-none-any.whl (67.8 kB view details)

Uploaded Python 3

File details

Details for the file mixer_system-0.1.16.tar.gz.

File metadata

  • Download URL: mixer_system-0.1.16.tar.gz
  • Upload date:
  • Size: 49.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for mixer_system-0.1.16.tar.gz
Algorithm Hash digest
SHA256 65ddeee248bd5a1e3439a1831f831a56b42d307e10f447856ac37886bd4dd62f
MD5 482071bb06b0bbd5194e487dd5e279ba
BLAKE2b-256 cebbf7a3b690927cdfde36a0faa0d77d7a31abc8ea712e9981130916f559e5ed

See more details on using hashes here.

File details

Details for the file mixer_system-0.1.16-py3-none-any.whl.

File metadata

  • Download URL: mixer_system-0.1.16-py3-none-any.whl
  • Upload date:
  • Size: 67.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for mixer_system-0.1.16-py3-none-any.whl
Algorithm Hash digest
SHA256 76033e49d82cfee0da845de6660c41f2236b3eee94c03f4bcee5e6afe245ac19
MD5 5094fb899635c6a8bd68fc27b85739e5
BLAKE2b-256 5d92846184ded5a835e57b73c62f8236ffb0f5089399a074e192a2e66d5b17d9

See more details on using hashes here.

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