npx skills add proompteng/labREADME
Experimentation Lab
A multi-language monorepo for experimenting with conversational tooling, data pipelines, and deployment workflows. The repo combines Next.js frontends, Convex-backed APIs, Go microservices, and Kubernetes/Terraform automation for end-to-end prototyping.
Quick Start
- Prerequisites
- Node.js 24.11.x and Bun 1.3.5
- Go 1.24+
- Docker / Kubernetes tooling if you plan to run services or apply manifests locally
- Install workspace dependencies
bun install - Launch the landing web app
bun run dev:landing - Start the Convex backend locally (in another terminal)
bun run dev:convex - Run Go services (example)
go run ./services/prt
Prefer a hosted development experience? Click the Open in Coder button above to provision a workspace with Node 24, Bun, and the repository pre-installed.
Repository Layout
| Path | Description |
|---|---|
apps/ | Frontends and UX surfaces (e.g. landing, app, docs) with co-located fixtures and tests. |
packages/backend | Convex backend project (convex dev, codegen, model seeding). |
packages/atelier, packages/cloutt | Shared TypeScript utilities and infrastructure tooling. |
services/ | Go microservices (miel, prt, eclair) with adjacent tests and Dockerfiles. |
ansible/ | Playbooks and inventory for provisioning supporting hosts. |
tofu/ | OpenTofu (Terraform) configurations for Harvester, Cloudflare, Rancher, and Tailscale. |
kubernetes/ | Cluster bootstrap/maintenance tooling (install scripts, Coder template); no workload manifests. |
argocd/ | Argo CD application specs and ApplicationSets for GitOps deployment. |
scripts/ | Helper scripts for builds, secrets management, and Tailscale automation. |
AGENTS.md, CLAUDE.md | Notes and prompts for AI agent integrations. |
Development Workflows
Frontend
- Lint & format:
bun run lint:landing,bun run format - Build & smoke test:
bun run build:landingthenbun run start:landing - Shared Biome config lives at
biome.json
Convex Backend
- Generate types:
bun run --filter @proompteng/backend codegen - Start local dev:
bun run dev:convex - Seed models:
bun run seed:models
Go Services
- Test all services:
go test ./services/... - Build binaries:
go build ./services/... - Unit test a single service:
go test ./services/prt -run TestHandleRoot
Tooling & Quality
- Husky + Biome formatted on commit (
lint-stagedconfiguration inpackage.json). - Oxlint runs alongside Biome:
bun run lint:oxlintfor repo-wide JS/TS checks andbun run lint:oxlint:typeto run type-aware checks across TS workspaces. - Type-aware Oxlint uses tsgolint (typescript-go), which may skip unsupported tsconfig options (such as
baseUrl)—use lint-only tsconfigs per workspace if needed. - TailwindCSS v4 & Radix UI used extensively in frontend components.
Database Setup
Some experiments expect a Postgres instance (see original Home Cloud notes). To recreate the environment locally:
- Install the CLI:
brew install postgresql - (Linux) install server packages:
sudo apt update && sudo apt install postgresql - Enable remote access (optional lab setup):
- Add to
pg_hba.conf:host all all 192.168.1.0/24 trust - Ensure
postgresql.confincludeslisten_addresses = '*'.
- Add to
- Create a user & database:
create role altra with login; create database altra with owner altra; - Grant privileges as needed:
grant create on database altra to altra;
These instructions remain intentionally permissive for an isolated lab network—tighten auth and networking before production use.
Infrastructure & Operations
| Task | Command / Notes |
|---|---|
| Plan infrastructure | bun run tf:plan (OpenTofu under tofu/harvester) |
| Apply infrastructure | bun run tf:apply (only after reviewing the plan) |
| Destroy Harvester VM | bun run tf:destroy |
| Apply Kubernetes base | bun run harvester:apply or ./kubernetes/install.sh |
| Bootstrap Argo CD | bun run k:bootstrap (applies manifests in argocd/) |
| Run Ansible playbooks | bun run ansible |
| Manage Coder template | kubernetes/coder contains Terraform + template YAML used by the button above. |
Supporting configuration:
skaffold.yamlfor iterative container builds.scripts/generate-*helpers to create sealed secrets and Tailscale auth keys.tmp/contains sample certs, Milvus configs, and operator bundles used during experimentation.
Coder Workspace
...
Publisher
Statistics
Stars5
Forks0
Open Issues15
LicenseMIT License
CreatedMar 23, 2024