Files
soleprint/README.md
2025-12-24 06:23:31 -03:00

125 lines
3.1 KiB
Markdown

# 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
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
```bash
cd gen
python main.py
```
### Regenerate models (one-time / rare)
```bash
cd station/tools/generator
python -m generators.orchestrator --output ../../../gen
```
### Run with Docker (via mainroom)
```bash
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.*