Foundary Studio: Conversational product development
Go to file
rdev-worker 2a3925337d
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
build: /create-qa-plan data-models
2026-02-11 02:15:50 +00:00
.claude Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
.githooks Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
.sdlc build: /create-qa-plan data-models 2026-02-11 02:15:50 +00:00
apps Add components: app-react/studio-ui, service/studio-api 2026-02-11 01:37:26 +00:00
cli Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
docs Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
packages Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
pkg Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
scripts Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
services Add components: app-react/studio-ui, service/studio-api 2026-02-11 01:37:26 +00:00
workers Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
.gitignore Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
.golangci.yml Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
.woodpecker.yml Add components: app-react/studio-ui, service/studio-api 2026-02-11 01:37:26 +00:00
CLAUDE.md Add components: app-react/studio-ui, service/studio-api 2026-02-11 01:37:26 +00:00
docker-compose.yml Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
go.work Add components: app-react/studio-ui, service/studio-api 2026-02-11 01:37:26 +00:00
package.json Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
pnpm-workspace.yaml Initialize project from skeleton template 2026-02-11 01:34:24 +00:00
Procfile Add components: app-react/studio-ui, service/studio-api 2026-02-11 01:37:26 +00:00
README.md build: Set up the monorepo workspace. Ensure the root README describes a pro... 2026-02-11 01:37:19 +00:00

Foundary Studio

A product studio for conversational product development. Foundary Studio enables teams to build, iterate on, and ship products through natural conversation — turning dialogue into working software.

Quickstart

# Clone the repo
git clone https://git.threesix.ai/jordan/foundary-test-1770773605.git
cd foundary-test-1770773605

# Install dependencies
./scripts/install.sh

# Start local development (PostgreSQL, Redis, all services)
./scripts/dev.sh

Architecture

Foundary Studio is a monorepo with Go backend services, TypeScript frontend applications, and shared packages for both.

foundary-test-1770773605/
├── services/       # Go API services (port 8001+)
├── workers/        # Go background workers (queue consumers, jobs)
├── apps/           # TypeScript frontend applications (port 3001+)
├── cli/            # Go CLI tools
├── packages/       # Shared TypeScript packages
│   ├── ui/         # Component library (Radix + CSS variables)
│   ├── layout/     # Dashboard layout
│   ├── auth/       # Authentication provider
│   ├── api-client/ # Generated TypeScript API client
│   └── logger/     # HTTP and console logging
├── pkg/            # Shared Go packages
│   ├── app/        # Service bootstrapper
│   ├── auth/       # JWT and API key authentication
│   ├── config/     # Configuration management
│   ├── database/   # Database utilities
│   ├── httpclient/ # Resilient HTTP client (circuit breaker, retries)
│   ├── httperror/  # Typed HTTP errors
│   ├── httpresponse/ # Response envelope ({data, meta})
│   ├── logging/    # Structured logging (slog)
│   ├── middleware/  # HTTP middleware (CORS, recovery, request ID)
│   ├── openapi/    # OpenAPI 3.0 spec builder + Scalar docs
│   ├── queue/      # PostgreSQL-backed job queue
│   ├── realtime/   # WebSocket and Redis pub/sub
│   └── svc/        # Inter-service discovery and communication
├── scripts/        # Development and CI scripts
└── docs/           # API documentation

Tech Stack

Layer Technology
Backend services Go, Chi router, PostgreSQL, Redis
Frontend apps TypeScript, React
Shared UI Radix primitives, CSS custom properties
Job processing PostgreSQL-backed queue
Real-time WebSocket, Redis pub/sub
Workspace Go workspaces, pnpm workspaces
Infrastructure Docker Compose (local), Woodpecker CI

Development

Scripts

Script Description
./scripts/dev.sh Start local dev environment (Docker services + all components)
./scripts/install.sh Install all dependencies (pnpm packages + Go modules)
./scripts/quality.sh Run quality checks (lint, test, typecheck)
./scripts/discover.sh List all components in the monorepo
./scripts/generate-client.sh Generate TypeScript API client from OpenAPI specs

Local Infrastructure

Local development uses Docker Compose for backing services:

  • PostgreSQL 16 on port 5432 (user: dev, database: foundary-test-1770773605)
  • Redis 7 on port 6379

API Documentation

Each service exposes an OpenAPI spec at /openapi.json. Documentation is generated and deployed automatically on 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-1770773605/components \
  -H "X-API-Key: $RDEV_API_KEY" \
  -d '{"type": "service", "name": "my-service"}'

# Add a React app
curl -X POST $RDEV_API_URL/projects/foundary-test-1770773605/components \
  -H "X-API-Key: $RDEV_API_KEY" \
  -d '{"type": "app", "name": "my-app", "template": "app-react"}'