SnackMachine
by fredporter
README.md
# SnackMachine
Modular snack registry, scheduler, spool, and MCP knowledge conduit.
## Install
```bash
pip install snackmachine
```
Or from source:
```bash
pip install -e .
```
## Structure
```
snackmachine/
├── registry.py # SnackSpec, SnackPlugin, SnackRegistry
├── base.py # SnackParam, SnackMeta, BaseSnack
├── scheduler.py # Cron-like maintenance scheduler
├── spool_reader.py # Spool feed parser
├── spool_writer.py # Spool append writer
└── conduit/
├── bridge.py # MCP query/status/chat routes
├── library_index.py # FTS5 across all 5 vault layers
├── ai_bridge.py # AI-ranked search with agent boosting
├── doclang.py # Markdown/wiki-link/section parser
└── knowledge_layer.py # Multi-agent shared memory
```
## Usage
```python
from snackmachine.registry import get_registry
from snackmachine.base import BaseSnack, SnackMeta
class MySnack(BaseSnack):
meta = SnackMeta(id="my-snack", name="My Snack", category="custom")
def execute(self, action=None, **kwargs):
return {"success": True}
# Register
get_registry().register(MySnack())
```
## Data
All mutable data lives in `~/.ucore/`:
- `~/.ucore/indices/library.db` — FTS5 search index
- `~/.ucore/knowledge/shared.db` — multi-agent memory
- `~/.ucore/logs/` — spool files
- `~/.ucore/config/mcp-manifests/` — MCP server manifests
Set `SNACKMACHINE_DATA_DIR` to override the data root.
## License
MITThis server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing