Skip to content

Contributing

The Ambient Code Platform is open source. Whether you are fixing a bug, adding a feature, or improving documentation, contributions are welcome.

ToolVersionPurpose
Go1.24+Backend, operator, public API
Node.js20+Frontend
Python3.11+Runner
DockerLatestContainer builds
kubectlLatestCluster access
KindLatestLocal Kubernetes cluster

Terminal window
# Start a local Kind cluster with all components
make kind-up

Once the cluster is running, access the platform at http://localhost:8080. Open a workspace and configure your API key in Project Settings before creating sessions.


Each component has its own README with build instructions, test commands, and development tips.

ComponentTechnologyREADME
BackendGo + Gincomponents/backend/
FrontendNextJS + Shadcncomponents/frontend/
OperatorGo + controller-runtimecomponents/operator/
RunnerPythoncomponents/runners/ambient-runner/
Public APIGo + Gincomponents/public-api/

Internal developer documentation lives alongside these docs in docs/internal/:

SectionWhat’s there
ArchitectureSystem diagrams, component structure, session lifecycle
ADRsArchitectural Decision Records (Kubernetes-native, user token auth, language choices, etc.)
DesignTechnical design docs (session reconciliation, runner-operator contract, status redesign)
DeploymentOpenShift deployment, OAuth, git authentication, S3 storage
IntegrationsGitHub App, GitLab, Google Workspace setup
Local devKind, CRC, and hybrid development setup
TestingE2E testing guide, test overview
ObservabilityLangfuse, operator metrics, Grafana dashboards

See CONTRIBUTING.md for the full contribution workflow — branching strategy, pull request conventions, code standards, and commit message format.