update readme
This commit is contained in:
151
README.md
151
README.md
@@ -5,142 +5,47 @@ Development workflow platform. Run, test, and document everything in one place.
|
|||||||
## Quick Start
|
## Quick Start
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Build standalone
|
# Build and run standalone
|
||||||
python build.py dev
|
python build.py
|
||||||
cd gen/standalone && .venv/bin/python run.py
|
cd gen/standalone && docker compose up
|
||||||
|
|
||||||
# Build with room config
|
|
||||||
python build.py dev --cfg amar
|
|
||||||
cd gen/amar && .venv/bin/python run.py
|
|
||||||
|
|
||||||
# Visit http://localhost:12000
|
# Visit http://localhost:12000
|
||||||
|
|
||||||
|
# Build and run with room config
|
||||||
|
python build.py --cfg <room>
|
||||||
|
cd gen/<room>/soleprint && docker compose up
|
||||||
```
|
```
|
||||||
|
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Build
|
# Build
|
||||||
python build.py dev # → gen/standalone/
|
python build.py # -> gen/standalone/
|
||||||
python build.py dev --cfg <managed># → gen/<managed>/
|
python build.py --cfg <room> # -> gen/<room>/
|
||||||
python build.py dev --all # → both
|
python build.py --all # -> all rooms
|
||||||
|
|
||||||
# ctrl scripts
|
# Using ctrl scripts
|
||||||
./ctrl/build.sh # Build standalone
|
./ctrl/build.sh # Build standalone
|
||||||
./ctrl/build.sh <managed> # Build <managed>
|
./ctrl/build.sh <room> # Build room
|
||||||
./ctrl/build.sh --all # Build all
|
./ctrl/start.sh # Start standalone
|
||||||
|
./ctrl/start.sh <room> # Start room
|
||||||
|
./ctrl/stop.sh <room> # Stop
|
||||||
|
./ctrl/logs.sh <room> # View logs
|
||||||
|
|
||||||
./ctrl/start.sh # Start standalone (Docker)
|
# Bare-metal dev (without Docker)
|
||||||
./ctrl/start.sh <managed> # Start amar
|
cd gen/standalone && .venv/bin/python run.py
|
||||||
./ctrl/start.sh -d # Detached
|
|
||||||
./ctrl/stop.sh # Stop
|
|
||||||
./ctrl/logs.sh # View logs
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Adding a New Managed Room
|
## Adding a New Room
|
||||||
|
|
||||||
1. Create room config directory:
|
|
||||||
```bash
|
```bash
|
||||||
mkdir -p cfg/<managed>
|
# 1. Create room config
|
||||||
|
mkdir -p cfg/myroom/data
|
||||||
|
cp cfg/standalone/config.json cfg/myroom/
|
||||||
|
cp -r cfg/standalone/data/* cfg/myroom/data/
|
||||||
|
|
||||||
|
# 2. Build and run
|
||||||
|
python build.py --cfg myroom
|
||||||
|
cd gen/myroom/soleprint && docker compose up
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Add required files:
|
Or use the generation UI at `/generate`.
|
||||||
```
|
|
||||||
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 |
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|||||||
Reference in New Issue
Block a user