# Soleprint Development workflow platform. Run, test, and document everything in one place. ## Quick Start ```bash # Build standalone python build.py dev cd gen/standalone && .venv/bin/python run.py # Build with room config python build.py dev --cfg amar cd gen/amar && .venv/bin/python run.py # Visit http://localhost:12000 ``` ## Commands ```bash # Build python build.py dev # → gen/standalone/ python build.py dev --cfg # → gen// python build.py dev --all # → both # ctrl scripts ./ctrl/build.sh # Build standalone ./ctrl/build.sh # Build ./ctrl/build.sh --all # Build all ./ctrl/start.sh # Start standalone (Docker) ./ctrl/start.sh # Start amar ./ctrl/start.sh -d # Detached ./ctrl/stop.sh # Stop ./ctrl/logs.sh # View logs ``` ## Adding a New Managed Room 1. Create room config directory: ```bash mkdir -p cfg/ ``` 2. Add required files: ``` cfg// ├── .env.example # Environment template ├── docker-compose.yml # Room services (optional) ├── databrowse/depot/ # Database schemas (optional) ├── tester/tests/ # Room-specific tests (optional) ├── monitors/ # Room-specific monitors (optional) ├── models/ # Room-specific models (optional) └── data/ # Room-specific data files (optional) ├── depots.json # Doc depots for Atlas └── shunts.json # Mock connectors ``` 3. Build and run: ```bash python build.py dev --cfg ./ctrl/start.sh ``` ## Systems | | System | What it does | |---|--------|--------------| | 👣 | **Soleprint** | Core coordinator, routing, landing page | | 💉 | **Artery** | Connectors to external services | | 🗺️ | **Atlas** | Actionable documentation | | 🎛️ | **Station** | Tools and monitors | ## Structure ``` spr/ ├── build.py # Build tool ├── cfg/ # Room configurations │ ├── soleprint.config.json │ └── amar/ # AMAR room config ├── ctrl/ # Docker scripts │ ├── artery/ # Connectors │ ├── veins/ # Jira, Slack, Google │ ├── shunts/ # Fake connectors for testing │ └── plexus/ # Full apps (backend + frontend) │ ├── atlas/ # Documentation │ └── books/ # Soleprint docs only │ ├── station/ # Tools & monitors │ ├── tools/ # modelgen, tester, datagen │ └── monitors/ # databrowse │ ├── soleprint/ # Core (versioned) │ ├── gen/ # Built instances (gitignored) │ ├── standalone/ # Base soleprint │ └── amar/ # With amar config │ └── mainroom/ # Orchestration with managed room ├── amar -> cfg/amar ├── soleprint/ # Soleprint Docker config └── ctrl/ # start, stop, deploy scripts ``` ## Artery Hierarchy ``` Vein ──► Pulse ──► Plexus │ │ │ │ │ └── Full app (backend + frontend + DB) │ └── Composed (Vein + Room + Depot) └── Stateless API connector Shunt ── Fake connector for testing ``` ## Ports | Service | Port | |---------|------| | Soleprint | 12000 | | Amar Backend | 8000 | | Amar Frontend | 3000 | ## Tools | Tool | Purpose | |------|---------| | modelgen | Generate models from config | | tester | BDD/playwright test runner | | datagen | Test data generation | | databrowse | SQL data browser | ## Veins | Vein | Auth | |------|------| | jira | Token | | slack | Token | | google | OAuth2 | ---