Open source · MIT licensed
We build the tools we build with.
Oxidean publishes three independent open-source projects: a self-hostable code forge, an agent toolchain that lives in your repository, and a language for CLI tools and services.
Projects
Three projects.
Each ships on its own release line, docs, and repo. Take what fits; leave the rest.
the forge
v0.4.2Oxidean
Self-hostable git hosting, pull requests, issues, CI actions, and package registries.
the agent
v0.1.9Ox-Agent
Repository-local, token-efficient AI-SDLC: one Go binary, no project-local runtime.
Oxidean · the forge
Repos, review, CI, and packages behind one origin.
Oxidean is a code forge that deploys as a single Compose stack: web, API, and Postgres services. Swap the bundled Postgres for MySQL or SQLite, add the TLS or Actions profile, or take the same stack to Kubernetes with the Helm chart.
- Repos, PRs & review, issues, orgs
- Actions CI on your own runners
- npm, OCI & generic registries
- Same codebase, cloud or self-host
# published images, no toolchain, no build step
docker compose up -d
# optional profiles: tls, actions, s3helm install oxidean \
oci://ghcr.io/oxidean/charts/oxidean# in any repo
ox-agent init --integrate
ox-agent start "Add a health-check endpoint"binary = how execution works
skill = what a role does
workflow = when capabilities apply
pipeline = how work is ordered
work = what happenedOx-Agent · the agent
Spec-driven development for agent teams.
ox-agent executes the skills, workflows, and pipelines each repository defines under .ox-agent/. Durable state, standards, and work items are versioned next to the code they describe. No daemon, no SaaS, no project-local runtime: the global binary is the only thing you install.
oxl · the language
Ownership checks without a garbage collector.
oxl is built for CLI tools and services: dynamic ownership and borrow checks, structured concurrency on ~96-byte task frames, and ahead-of-time native binaries from a single toolchain. v0.5.0 is released, and the compiler, parser, and checker are written in oxl and compile themselves.
package main
fn fail(b: bool) -> [int, err] {
if b { return 0, 1 }
return 42, nil
}
fn main() {
[v, err] = fail(false)
if err != nil { return }
println(itoa(v))
ch := mkchan()
scope {
spawn send(ch, 7)
println(itoa(recv(ch)))
}
}