# Soleprint

> Cada paso deja huella / Each step leaves a mark

Development workflow platform. Run, test, and document everything in one place.

## Quick Start

```bash
# Build
python build.py dev --cfg amar

# Run standalone (Docker)
./ctrl/start.sh

# Or bare-metal
cd gen && .venv/bin/python run.py
# Visit http://localhost:12000
```

## Systems

| | System | What it does |
|---|--------|--------------|
| 👣 | **Soleprint** | Core coordinator, routing, landing page |
| 💉 | **Artery** | Connectors to external services (Jira, Slack, Google) |
| 🗺️ | **Atlas** | Actionable documentation (BDD, Gherkin, specs) |
| 🎛️ | **Station** | Tools (modelgen, tester) and monitors (databrowse) |

## Structure

```
spr/
├── build.py           # Build tool
├── cfg/               # Room configurations
│   ├── soleprint.config.json
│   └── amar/          # AMAR room (docker-compose, tests, models)
├── ctrl/              # Standalone Docker scripts
│
├── artery/            # Connectors
│   ├── veins/         # Jira, Slack, Google
│   ├── shunts/        # Fake connectors for testing
│   └── plexuses/      # Full apps (backend + frontend)
│
├── atlas/             # Documentation
│   └── book/          # Gherkin samples, feature docs
│
├── station/           # Tools & monitors
│   ├── tools/         # modelgen, tester, datagen
│   └── monitors/      # databrowse
│
├── soleprint/         # Core (versioned)
├── gen/               # Built instance (gitignored)
│
└── mainroom/          # Orchestration with managed room
    ├── amar -> cfg/amar
    ├── soleprint/     # Soleprint Docker config
    ├── sbwrapper/     # Sidebar wrapper UI
    └── 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
```

## Usage

### Standalone (soleprint only)
```bash
python build.py dev
./ctrl/start.sh              # Docker
./ctrl/stop.sh
```

### With Managed Room (amar + soleprint)
```bash
python build.py dev --cfg amar
docker network create soleprint_network

cd mainroom/ctrl
./start.sh -d                # Start detached
./stop.sh                    # Stop all
./deploy.sh                  # Deploy to AWS
```

## 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 |

---

*Built for small teams who need to move fast without breaking things.*
