# foundary-test-1770784989 A product studio for conversational product development. Build, iterate, and ship products through natural conversation — from idea to deployed software in a single workflow. Foundary Studio combines Go backend services, TypeScript frontends, and shared libraries in a polyglot monorepo, orchestrated by AI-assisted development tooling that turns conversations into working code. ## Quickstart ```bash # Clone the repo git clone https://git.threesix.ai/jordan/foundary-test-1770784989.git cd foundary-test-1770784989 # Install dependencies ./scripts/install.sh # Start local development (PostgreSQL, Redis, all services) ./scripts/dev.sh ``` ## Architecture ``` foundary-test-1770784989/ ├── services/ # Go API services (port 8001+) ├── workers/ # Go background workers ├── apps/ # TypeScript frontends (port 3001+) ├── cli/ # Go CLI tools ├── packages/ # Shared TypeScript packages │ ├── ui/ # Headless UI component library │ ├── layout/ # Dashboard shell and navigation │ ├── auth/ # Auth provider and protected routes │ ├── api-client/ # Generated typed API client │ └── logger/ # Structured HTTP/console logging ├── pkg/ # Shared Go packages │ ├── app/ # Service bootstrapper (Wrap, Bind, Health) │ ├── auth/ # JWT and API key authentication │ ├── config/ # Environment-based configuration │ ├── database/ # PostgreSQL connections and migrations │ ├── httperror/ # Typed HTTP error responses │ ├── httpresponse/ # Standard response envelope │ ├── middleware/ # CORS, request ID, recovery, logging │ ├── openapi/ # OpenAPI 3.0 spec builder + docs UI │ ├── queue/ # Redis-backed job queue │ ├── realtime/ # WebSocket hub with Redis pub/sub │ └── svc/ # Service-to-service discovery ├── scripts/ # Development and CI scripts └── docs/ # Generated API documentation ``` ## Scripts | Script | Description | |--------|-------------| | `./scripts/dev.sh` | Start local development environment | | `./scripts/install.sh` | Install all dependencies | | `./scripts/quality.sh` | Run linting, tests, and quality checks | | `./scripts/discover.sh` | List all components in the monorepo | | `./scripts/generate-client.sh` | Generate TypeScript API client from OpenAPI specs | ## Tech Stack | Layer | Technology | |-------|------------| | Backend | Go 1.25, chi router, sqlx, PostgreSQL, Redis | | Frontend | TypeScript, React, Radix UI, Tailwind CSS | | Package management | pnpm workspaces (TS), Go workspaces (Go) | | Infrastructure | Docker Compose (local), Woodpecker CI/CD | | Auth | JWT + API key with opt-in middleware | | Docs | OpenAPI 3.0 specs with Scalar UI | ## API Documentation API documentation is generated from OpenAPI specs and deployed to: - **Docs**: https://docs.9d4u7q6t.threesix.ai - **OpenAPI Spec**: Each service exposes `/openapi.json` Documentation is automatically rebuilt on every push to `main`. ## Adding Components Components are added via the rdev API: ```bash # Add a Go service curl -X POST $RDEV_API_URL/projects/foundary-test-1770784989/components \ -H "X-API-Key: $RDEV_API_KEY" \ -d '{"type": "service", "name": "auth-api"}' # Add a React app curl -X POST $RDEV_API_URL/projects/foundary-test-1770784989/components \ -H "X-API-Key: $RDEV_API_KEY" \ -d '{"type": "app", "name": "dashboard", "template": "app-react"}' ```