3.5 KiB
3.5 KiB
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
# Build dev environment
python build.py dev
# Run
cd gen
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
.venv/bin/python run.py # Single-port bare-metal dev
# Visit http://localhost:12000
Systems
| System | What it does | |
|---|---|---|
| 👣 | Soleprint | Core coordinator, routing, landing page |
| 💉 | 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)
├── cfg/ # Framework configuration
│ ├── soleprint.config.json
│ └── amar/ # Room-specific configs
│
├── soleprint/ # Core coordinator (versioned)
│ ├── main.py # Multi-port entry point
│ ├── run.py # Single-port bare-metal dev
│ └── dataloader/
│
├── artery/ # Connectors (versioned)
├── atlas/ # Documentation (versioned)
├── station/ # Tools (versioned)
│ └── tools/
│ ├── modelgen/ # Generates models from config
│ ├── datagen/ # Test data generation
│ └── tester/ # BDD/contract test runner
│
├── data/ # JSON content
├── gen/ # Runnable instance (symlinks + generated)
│
└── mainroom/ # Orchestration: soleprint ↔ managed room
├── ctrl/ # Orchestration commands
├── sbwrapper/ # Sidebar wrapper UI
└── 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
Build and run
python build.py dev # Soleprint only
python build.py dev --cfg amar # With amar room config
cd gen
.venv/bin/python run.py # Bare-metal single-port
.venv/bin/python main.py # Multi-port (production-like)
Run with Docker (via mainroom)
cd mainroom/soleprint
docker compose up -d
Ports
| Service | Port |
|---|---|
| Soleprint | 12000 |
| Artery | 12001 |
| Atlas | 12002 |
| Station | 12003 |
Architecture
soleprint/ → Versioned core files (main.py, run.py, dataloader)
gen/ → Runnable instance (symlinks to soleprint/ + systems)
gen/models/ → Generated once per client (like install)
cfg/ → Configuration (copied to gen/cfg/)
mainroom/ → Orchestration layer
├── sbwrapper → UI overlay for managed apps
└── 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.