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 with comprehensive quarantine management system
- ⚡ Token Optimization with intelligent selection to fit assistant limits
- 🎯 Project Context Isolation to prevent cross-project knowledge contamination
- 🔍 Semantic Search with vector-based knowledge retrieval and hybrid search capabilities
- 📊 Event-Driven Architecture with comprehensive progress tracking and monitoring
- 🏗️ Command Pattern Implementation with consistent CLI interface and extensible commands
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 manage quarantined knowledge conflicts
cmx quarantine list # List all quarantined chunks
cmx quarantine review <chunk-id> # Review a specific chunk
cmx quarantine resolve <chunk-id> accept "Approved after review" # Resolve conflicts
cmx quarantine stats # View quarantine statistics
# Assemble contexts for a specific target with project filtering
cmx assemble copilot --project-ids "react-frontend,python-api" --token-budget 8192
# Slice context into content categories with CRAFT-aware filtering
cmx slice --granularity detailed --domains technical,business --project-ids "react-frontend"
# Open and explore your context library
cmx open
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.5.0.tar.gz.
File metadata
- Download URL: context_mixer-0.5.0.tar.gz
- Upload date:
- Size: 155.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca39050ca20bc80b6dc2b79d98ecacf8ef6750a18c357a7e4ba48ed8e270394d
|
|
| MD5 |
6088bbf21e787378ddadd31c0ad57c4c
|
|
| BLAKE2b-256 |
13d2b5b65c7b0934581d3929adf062e10ae0e3262917c97c7a01c329cbc71fda
|
Provenance
The following attestation bundles were made for context_mixer-0.5.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.5.0.tar.gz -
Subject digest:
ca39050ca20bc80b6dc2b79d98ecacf8ef6750a18c357a7e4ba48ed8e270394d - Sigstore transparency entry: 297012660
- Sigstore integration time:
-
Permalink:
svetzal/context-mixer@08a4d9e312703f712920ab2e5fb323ef9d2a9046 -
Branch / Tag:
refs/tags/RELEASE-0.5.0 - Owner: https://github.com/svetzal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@08a4d9e312703f712920ab2e5fb323ef9d2a9046 -
Trigger Event:
release
-
Statement type:
File details
Details for the file context_mixer-0.5.0-py3-none-any.whl.
File metadata
- Download URL: context_mixer-0.5.0-py3-none-any.whl
- Upload date:
- Size: 193.7 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 |
09fd93a1fad4e70924961bde93037302c2e7516db23f9deb36cd031bec408ea1
|
|
| MD5 |
f87ce428b1574fe9aa195f6d982fcbcf
|
|
| BLAKE2b-256 |
eae1ba146e02cf0d24fae47325bda1927c1d03d99b40ffd6fdc533e085844cf3
|
Provenance
The following attestation bundles were made for context_mixer-0.5.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.5.0-py3-none-any.whl -
Subject digest:
09fd93a1fad4e70924961bde93037302c2e7516db23f9deb36cd031bec408ea1 - Sigstore transparency entry: 297012668
- Sigstore integration time:
-
Permalink:
svetzal/context-mixer@08a4d9e312703f712920ab2e5fb323ef9d2a9046 -
Branch / Tag:
refs/tags/RELEASE-0.5.0 - Owner: https://github.com/svetzal
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build.yml@08a4d9e312703f712920ab2e5fb323ef9d2a9046 -
Trigger Event:
release
-
Statement type: