# 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 ```bash # 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 ```bash 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) ```bash 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.*