feat(FN-002): complete Step 6 — Root README and Scope Boundaries
This commit is contained in:
@@ -0,0 +1,97 @@
|
|||||||
|
# Headquarter
|
||||||
|
|
||||||
|
Hosted workspace and tool-orchestration platform where authenticated users create projects, connect Git repositories, and spawn self-hosted tools such as RunFusion and code-server.
|
||||||
|
|
||||||
|
## Current Status
|
||||||
|
|
||||||
|
This repository is an initial scaffold (FN-002). It provides:
|
||||||
|
|
||||||
|
- React + Vite + TypeScript frontend (`apps/web`)
|
||||||
|
- FastAPI + Python backend (`apps/api`)
|
||||||
|
- Root monorepo tooling (pnpm workspace, Makefile)
|
||||||
|
- Docker Compose local development stack
|
||||||
|
- Deployment skeleton for Portainer + Traefik
|
||||||
|
- Automated tests (Vitest + pytest)
|
||||||
|
|
||||||
|
## Repository Layout
|
||||||
|
|
||||||
|
```text
|
||||||
|
├── apps/
|
||||||
|
│ ├── web/ # React frontend
|
||||||
|
│ └── api/ # FastAPI backend
|
||||||
|
├── docs/ # Architecture, development, and deployment docs
|
||||||
|
├── deploy/ # Portainer/Traefik deployment examples
|
||||||
|
├── docker-compose.yml
|
||||||
|
├── docker-compose.traefik.yml
|
||||||
|
├── package.json # Root monorepo scripts
|
||||||
|
├── Makefile # Common local workflows
|
||||||
|
└── .env.example # Shared environment variables
|
||||||
|
```
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
- Node.js ≥ 20 and pnpm ≥ 9
|
||||||
|
- Python ≥ 3.11
|
||||||
|
- Docker and Docker Compose (optional, for local Postgres)
|
||||||
|
|
||||||
|
## Quickstart
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install dependencies
|
||||||
|
make install
|
||||||
|
|
||||||
|
# Copy environment examples
|
||||||
|
cp .env.example .env
|
||||||
|
cp apps/web/.env.example apps/web/.env
|
||||||
|
|
||||||
|
# Run tests
|
||||||
|
make test
|
||||||
|
|
||||||
|
# Start frontend and backend in development mode
|
||||||
|
make dev
|
||||||
|
```
|
||||||
|
|
||||||
|
### Docker Compose
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up --build -d
|
||||||
|
```
|
||||||
|
|
||||||
|
This starts the API, web frontend, and PostgreSQL.
|
||||||
|
|
||||||
|
## Commands
|
||||||
|
|
||||||
|
| Command | Description |
|
||||||
|
|---------|-------------|
|
||||||
|
| `make install` | Install Node and Python dependencies |
|
||||||
|
| `make dev` | Start frontend and backend in parallel |
|
||||||
|
| `make test` | Run frontend and backend tests |
|
||||||
|
| `make lint` | Run linters |
|
||||||
|
| `make typecheck` | Run type checkers |
|
||||||
|
| `make build` | Build frontend and backend |
|
||||||
|
| `make compose-up` | Start Docker Compose stack |
|
||||||
|
| `make compose-down` | Stop Docker Compose stack |
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
- [Architecture](docs/architecture.md) — System design and MVP phases
|
||||||
|
- [Development](docs/development.md) — Local setup and day-to-day commands
|
||||||
|
- [Deployment](docs/deployment.md) — Portainer/Traefik assumptions
|
||||||
|
- [Deploy Skeleton](deploy/README.md) — Deployment file reference
|
||||||
|
|
||||||
|
## Scope Boundaries
|
||||||
|
|
||||||
|
This scaffold intentionally defers detailed implementation to follow-up tasks:
|
||||||
|
|
||||||
|
- **FN-004** — Backend domain models, database migrations, API endpoints, auth integration
|
||||||
|
- **FN-005** — Frontend dashboard navigation, project creation, authenticated flows
|
||||||
|
- **FN-006** — Full deployment automation, dynamic Traefik labels for spawned tool containers
|
||||||
|
- **FN-003** — Manifest-driven tool registry
|
||||||
|
- **FN-007** — Provider-independent Git connection model
|
||||||
|
- **FN-008** — RunFusion executable environment proof of concept
|
||||||
|
- **FN-009** — Persistent config and secrets handling
|
||||||
|
- **FN-010** — code-server manifest and spawn flow
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
TBD
|
||||||
Reference in New Issue
Block a user