Files
soleprint/README.md
2026-01-20 05:31:26 -03:00

147 lines
3.8 KiB
Markdown

# 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 <managed># → gen/<managed>/
python build.py dev --all # → both
# ctrl scripts
./ctrl/build.sh # Build standalone
./ctrl/build.sh <managed> # Build <managed>
./ctrl/build.sh --all # Build all
./ctrl/start.sh # Start standalone (Docker)
./ctrl/start.sh <managed> # 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/<managed>
```
2. Add required files:
```
cfg/<managed>/
├── .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 <managed>
./ctrl/start.sh <managed>
```
## 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 |
---