A tool to create, organize, merge and deploy reusable context instructions across multiple GenAI coding assistants
Project description
Context Mixer
A command-line tool to create, organize, merge and deploy reusable context instructions across multiple GenAI coding assistants.
Purpose
Context Mixer helps developers manage context fragments for different AI coding assistants (e.g., GitHub Copilot, Cursor/Windsor, Claude, Junie) in a structured, version-controlled way using the CRAFT framework for intelligent knowledge management.
Features
- 🔄 Mix & Slice context fragments into variant-specific bundles with CRAFT-aware filtering
- 📥 Ingest & Normalize existing context artifacts from multiple projects with project isolation
- 📚 Source-of-Truth Library under Git for history and collaboration
- 🛡️ Conflict Detection & Quarantine to prevent knowledge contamination
- ⚡ Token Optimization with intelligent selection to fit assistant limits
- 🎯 Project Context Isolation to prevent cross-project knowledge contamination
Installation
# Install with pipx (recommended)
pipx install context-mixer
# Or with pip
pip install context-mixer
# For development
git clone https://github.com/svetzal/context-mixer.git
cd context-mixer
pip install -e ".[dev]"
Requirements
- Python 3.12+
- Git
- Access to either Ollama (local) or OpenAI (remote) LLM services
Quick Start
# Initialize a new context library
cmx init
# Ingest existing contexts with project identification
cmx ingest ./my-react-project --project-id "react-frontend" --project-name "React Frontend App"
cmx ingest ./my-python-api --project-id "python-api" --project-name "Python REST API"
# Review and resolve any quarantined knowledge conflicts
cmx quarantine list
cmx quarantine resolve <chunk-id> accept "Approved after review"
# Assemble contexts for a specific target with project filtering
cmx assemble copilot --project-ids "react-frontend,python-api" --token-budget 8192
# Slice context.md into content categories with CRAFT-aware filtering
cmx slice --granularity detailed --domains technical,business --project-ids "react-frontend"
# Sync with remote repository (coming soon)
cmx sync
License
MIT
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file context_mixer-0.4.0.tar.gz.
File metadata
- Download URL: context_mixer-0.4.0.tar.gz
- Upload date:
- Size: 124.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
468fe945328211560e8474028d3a19ec34b1806102922656e6d5a19cad526b13
|
|
| MD5 |
ebc47702601edc57a34ca483433a9f19
|
|
| BLAKE2b-256 |
f49e3e2fa21307af2cc0ab9a2cee137d41824f6383aec1c2cc223be9b7c5a254
|
Provenance
The following attestation bundles were made for context_mixer-0.4.0.tar.gz:
Publisher:
build.yml on svetzal/context-mixer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
context_mixer-0.4.0.tar.gz -
Subject digest:
468fe945328211560e8474028d3a19ec34b1806102922656e6d5a19cad526b13 - Sigstore transparency entry: 294805674
- Sigstore integration time:
-
Permalink:
svetzal/context-mixer@28b7fb15b2695c5d63aa4e95c639baed8691fb17 -
Branch / Tag:
refs/tags/RELEASE-0.4.0 - Owner: https://github.com/svetzal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@28b7fb15b2695c5d63aa4e95c639baed8691fb17 -
Trigger Event:
release
-
Statement type:
File details
Details for the file context_mixer-0.4.0-py3-none-any.whl.
File metadata
- Download URL: context_mixer-0.4.0-py3-none-any.whl
- Upload date:
- Size: 154.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e6accb6bee038ef50c9df6c91b17e5d78bc99a91c217423230678179befa724
|
|
| MD5 |
3a3aebe28f0876ad38a8e6527ea0abd5
|
|
| BLAKE2b-256 |
9b41a244c67668182b72841de87b8abfed839eb72c231689394f0f13e3190f04
|
Provenance
The following attestation bundles were made for context_mixer-0.4.0-py3-none-any.whl:
Publisher:
build.yml on svetzal/context-mixer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
context_mixer-0.4.0-py3-none-any.whl -
Subject digest:
8e6accb6bee038ef50c9df6c91b17e5d78bc99a91c217423230678179befa724 - Sigstore transparency entry: 294805682
- Sigstore integration time:
-
Permalink:
svetzal/context-mixer@28b7fb15b2695c5d63aa4e95c639baed8691fb17 -
Branch / Tag:
refs/tags/RELEASE-0.4.0 - Owner: https://github.com/svetzal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@28b7fb15b2695c5d63aa4e95c639baed8691fb17 -
Trigger Event:
release
-
Statement type: