33ee1b44cde5675e4a251e8fef1639b7bd4e810b
Soleprint
Cada paso deja huella / Each step leaves a mark
Development workflow and documentation platform. Run, test, and document everything in one place.
Quick Start
cd gen
pip install -r requirements.txt
python main.py
# Visit http://localhost:12000
Systems
| System | What it does | |
|---|---|---|
| 💉 | Artery | Connectors to external services (Jira, Slack, APIs) |
| 🗺️ | Atlas | Actionable documentation (BDD, Gherkin, specs) |
| 🎛️ | Station | Tools, environments, test runners |
Structure
spr/
├── schema.json # Model definitions (source of truth)
├── config/ # Framework configuration
├── ctrl/ # Soleprint room ctrl
│
├── artery/ # Connectors (versioned)
├── atlas/ # Documentation (versioned)
├── station/ # Tools (versioned)
│ └── tools/
│ ├── generator/ # Generates models from schema
│ ├── datagen/ # Test data generation
│ └── tester/ # BDD/contract test runner
│
├── data/ # JSON content
├── hub/ # Base files (main.py, dataloader, etc.)
├── gen/ # Runnable instance (symlinks + generated models)
│
└── mainroom/ # Orchestration: soleprint ↔ managed room
├── ctrl/ # Orchestration commands
├── sbwrapper/ # Sidebar wrapper UI
├── link/ # Adapters for managed apps
└── soleprint/ # Docker configs
Components
Shared:
- Room - Environment configuration
- Depot - Data storage
System-specific:
- Vein (Artery) - Single connector
- Template (Atlas) - Doc pattern
- Tool (Station) - Utility
Composed:
- Pulse = Vein + Room + Depot
- Book = Template + Depot
- Desk = Cabinet + Room + Depots
Development
Run locally
cd gen
python main.py
Regenerate models (one-time / rare)
cd station/tools/generator
python -m generators.orchestrator --output ../../../gen
Run with Docker (via mainroom)
cd mainroom/soleprint
docker compose up -d
Ports
| Service | Port |
|---|---|
| Hub (soleprint) | 12000 |
| Artery | 12001 |
| Atlas | 12002 |
| Station | 12003 |
Architecture
hub/ → Versioned base files (main.py, dataloader)
gen/ → Runnable instance (symlinks to hub/ + systems)
gen/models/ → Generated once per client (like install)
mainroom/ → Orchestration layer
├── sbwrapper → UI overlay for managed apps
├── link → Data adapters (no modification to either side)
└── soleprint → Docker for soleprint services
Background
Born from the friction of:
- Testing requiring PRs on small teams
- Documentation scattered across tools
- Quick API connectors taking too long to set up
- No self-contained environment to experiment freely
Soleprint lets you run everything in isolation while building reusable pieces.
License
TBD
Built for small teams who need to move fast without breaking things.
Description
Languages
Python
44%
HTML
38.1%
Gherkin
13.5%
Shell
2.2%
CSS
1.4%
Other
0.7%