3.5 KiB
3.5 KiB
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
# 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:
# 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"}'