60 lines
1.9 KiB
Markdown
60 lines
1.9 KiB
Markdown
# Foundary
|
|
|
|
**A product studio for conversational product development.**
|
|
|
|
Foundary lets teams shape, build, and ship products through structured conversations. Instead of disconnected specs, tickets, and hand-offs, Foundary keeps the entire product development lifecycle inside a single conversational thread — from initial idea through launched product.
|
|
|
|
## How it works
|
|
|
|
1. **Converse** — Describe what you want to build in plain language. Foundary captures intent, constraints, and decisions as structured product artifacts.
|
|
2. **Refine** — Iterate on scope, priorities, and design through ongoing dialogue. Every conversation turn updates the living product definition.
|
|
3. **Ship** — Foundary translates the conversation into deployable outputs and tracks progress against the goals you defined together.
|
|
|
|
## Monorepo structure
|
|
|
|
```
|
|
foundary/
|
|
├── apps/
|
|
│ ├── web/ # Web application (frontend)
|
|
│ └── api/ # API server (backend)
|
|
├── packages/
|
|
│ ├── shared/ # Shared types, utilities, and constants
|
|
│ └── config/ # Shared configuration (TypeScript, ESLint)
|
|
├── package.json # Workspace root
|
|
├── pnpm-workspace.yaml
|
|
└── Dockerfile
|
|
```
|
|
|
|
## Getting started
|
|
|
|
```bash
|
|
# Install dependencies
|
|
pnpm install
|
|
|
|
# Run the web app in development
|
|
pnpm dev
|
|
|
|
# Build all packages and apps
|
|
pnpm build
|
|
|
|
# Run tests across the monorepo
|
|
pnpm test
|
|
|
|
# Type-check everything
|
|
pnpm typecheck
|
|
```
|
|
|
|
## Deployment
|
|
|
|
Pushes to `main` trigger automatic deployment via Woodpecker CI:
|
|
|
|
1. Build Docker image (multi-stage, optimized for cache)
|
|
2. Push to container registry (`registry.threesix.ai`)
|
|
3. Update Kubernetes deployment
|
|
|
|
Live at: https://gbgf39u8.threesix.ai
|
|
|
|
## Contributing
|
|
|
|
This is a pnpm workspace monorepo. All packages use `workspace:*` protocol for internal dependencies. Run commands from the root — pnpm will route them to the correct workspace packages.
|