Develop like Oxide
Profiled as of 2026-07-11 · consent tier: self-published · full bibliography in references/sources.md. Cultures drift — if this is more than ~6 months old, re-run /dev-like oxide to refresh.
Core principle
Write it down. "We capture the written expression of an idea in a Request for Discussion
(RFD)" — options considered, reasoning, data, and the final determination all get recorded,
and the process covers architecture, APIs, company process, and testing design alike
[RFD 1]. Writing is the collaboration medium,
not a bureaucratic artifact [a tool for discussion].
Principles
- Write decisions down — options, reasoning, and determination, in a versioned record [RFD 1]
- Rigor with urgency — thoroughness that ships beats analysis that stalls [RFD 113]
- Name the phase you're in (scoping → … → production) and act accordingly [RFD 5]
- Toolmaking is core engineering work — build the missing tool (buildomat) instead of tolerating friction [sharpening the axe] [buildomat]
- Rust where correctness pays rent, all the way down to firmware [iddqd] [Klabnik]
- Transparency as default — uniform pay, public RFDs, recorded meetings [compensation] [engineering culture]
- Model long-running operations as observable, recoverable workflows — never fire-and-forget [RFD 107]
- Demo working things continuously; trust demos over status reports [engineering culture]
- Keep agent instructions local to the code they govern, and cover every harness in use [omicron PR 10628]
Workflow
Execute these checkpoints before and during the task. Treat them as required actions, not
background description:
For a meaningful design choice, before implementation write a short RFD-style decision
record (e.g. RFD-topic-slug.md) containing: the problem/decision, options considered, the
chosen approach with tradeoffs, and failure modes/validation — this is a lightweight record
in the spirit of Oxide's RFD process, not a full formal RFD for every edit
[RFD 1]. Move it through explicit RFD states —
prediscussion → ideation → discussion → published → committed/abandoned — and discuss it in
GitHub PRs [RFD 1]. Name the engineering phase
before acting: scoping → exploration → prototyping → determination → development →
validation → stress → production [RFD 5]. Apply
both rigor and urgency; do not let analysis become avoidance
[RFD 113].
Work remote-first, record meetings, avoid formalized performance reviews and engineering
metrics, and show working things continuously at a weekly Demo Friday
[engineering culture]. Hardware teams
work distributed by investing in prototyping tooling; do not wait for approval or sign-off —
"we just go do what's right"
[remote hardware].
Keep cargo check, clippy, rustfmt, and nextest in the loop; run CI on buildomat, and build
the tool you need when it does not exist
[omicron PR 10628]
[buildomat]. Model long-running control-plane
operations as observable, recoverable sagas rather than fire-and-forget scripts
[RFD 107]. Agent-era note: repos carry both
CLAUDE.md and AGENTS.md ("that covers all agent harnesses in wide use"); keep agent
instructions nested, generated, and code-local rather than in one giant top-level file
[omicron PR 10628].
See references/stack.md for the stack and references/workflow.md for workflow detail.
Tensions
- AI posture is deliberately mixed: public emphasis on engineering rigor in the LLM age
[rigor episode]
coexists with real frontier-model use — LLM-assisted code restoration
[BattleTris]
and model-probed unsafe-Rust validation [iddqd].
Mimic the rigor, not a blanket pro/anti-AI stance.
- "Uniform compensation" now carries a sales exception — the principle holds, the absolutism
doesn't [comp update].
- Open-by-default, but the license mix across repos isn't uniform; check per-repo.
- Agent-config artifacts (CLAUDE.md/AGENTS.md) are strong in Omicron but unevenly distributed
across the org's repos — the pattern is emerging, not finished
[omicron PR 10628].
Want a reviewer/pair persona in Oxide's voice? See personas/oxide-developer.md — it's reference material. Claude Code users can copy it to .claude/agents/ to run it as a first-class subagent; other harnesses may need their own harness-specific metadata.
1---2name: develop-like-oxide3description: Develop the way Oxide (the company) does: RFD-driven written decisions, Rust-heavy hardware/software co-design, rigor with urgency, radical transparency. Use when the user wants Oxide-style engineering decisions, code review in Oxide's voice, or asks to "develop like Oxide". Profiled 2026-07-11 from public sources.4license: MIT5---67# Develop like Oxide89> Profiled as of 2026-07-11 · consent tier: self-published · full bibliography in [references/sources.md](references/sources.md). Cultures drift — if this is more than ~6 months old, re-run `/dev-like oxide` to refresh.1011## Core principle1213Write it down. "We capture the written expression of an idea in a Request for Discussion14(RFD)" — options considered, reasoning, data, and the final determination all get recorded,15and the process covers architecture, APIs, company process, and testing design alike16[[RFD 1]](https://rfd.shared.oxide.computer/rfd/0001). Writing is the collaboration medium,17not a bureaucratic artifact [[a tool for discussion]](https://oxide.computer/blog/a-tool-for-discussion).1819## Principles20211. Write decisions down — options, reasoning, and determination, in a versioned record [[RFD 1]](https://rfd.shared.oxide.computer/rfd/0001)222. Rigor *with* urgency — thoroughness that ships beats analysis that stalls [[RFD 113]](https://rfd.shared.oxide.computer/rfd/0113)233. Name the phase you're in (scoping → … → production) and act accordingly [[RFD 5]](https://rfd.shared.oxide.computer/rfd/0005)244. Toolmaking is core engineering work — build the missing tool (buildomat) instead of tolerating friction [[sharpening the axe]](https://p99conf.io/session/sharpening-the-axe-the-primacy-of-toolmaking/) [[buildomat]](https://github.com/oxidecomputer/buildomat)255. Rust where correctness pays rent, all the way down to firmware [[iddqd]](https://oxide.computer/blog/iddqd-unsafe) [[Klabnik]](https://steveklabnik.com/writing/memory-safety-is-a-red-herring/)266. Transparency as default — uniform pay, public RFDs, recorded meetings [[compensation]](https://oxide.computer/blog/compensation-as-a-reflection-of-values) [[engineering culture]](https://oxide.computer/blog/engineering-culture)277. Model long-running operations as observable, recoverable workflows — never fire-and-forget [[RFD 107]](https://rfd.shared.oxide.computer/rfd/0107)288. Demo working things continuously; trust demos over status reports [[engineering culture]](https://oxide.computer/blog/engineering-culture)299. Keep agent instructions local to the code they govern, and cover every harness in use [[omicron PR 10628]](https://github.com/oxidecomputer/omicron/pull/10628)3031## Workflow3233Execute these checkpoints before and during the task. Treat them as required actions, not34background description:3536For a meaningful design choice, before implementation write a short RFD-style decision37record (e.g. `RFD-topic-slug.md`) containing: the problem/decision, options considered, the38chosen approach with tradeoffs, and failure modes/validation — this is a lightweight record39in the spirit of Oxide's RFD process, not a full formal RFD for every edit40[[RFD 1]](https://rfd.shared.oxide.computer/rfd/0001). Move it through explicit RFD states —41prediscussion → ideation → discussion → published → committed/abandoned — and discuss it in42GitHub PRs [[RFD 1]](https://rfd.shared.oxide.computer/rfd/0001). Name the engineering phase43before acting: scoping → exploration → prototyping → determination → development →44validation → stress → production [[RFD 5]](https://rfd.shared.oxide.computer/rfd/0005). Apply45both rigor and urgency; do not let analysis become avoidance46[[RFD 113]](https://rfd.shared.oxide.computer/rfd/0113).4748Work remote-first, record meetings, avoid formalized performance reviews and engineering49metrics, and show working things continuously at a weekly Demo Friday50[[engineering culture]](https://oxide.computer/blog/engineering-culture). Hardware teams51work distributed by investing in prototyping tooling; do not wait for approval or sign-off —52"we just go do what's right"53[[remote hardware]](https://oxide.computer/blog/building-big-systems-with-remote-hardware-teams).54Keep cargo check, clippy, rustfmt, and nextest in the loop; run CI on buildomat, and build55the tool you need when it does not exist56[[omicron PR 10628]](https://github.com/oxidecomputer/omicron/pull/10628)57[[buildomat]](https://github.com/oxidecomputer/buildomat). Model long-running control-plane58operations as observable, recoverable sagas rather than fire-and-forget scripts59[[RFD 107]](https://rfd.shared.oxide.computer/rfd/0107). Agent-era note: repos carry both60CLAUDE.md and AGENTS.md ("that covers all agent harnesses in wide use"); keep agent61instructions nested, generated, and code-local rather than in one giant top-level file62[[omicron PR 10628]](https://github.com/oxidecomputer/omicron/pull/10628).6364See [references/stack.md](references/stack.md) for the stack and [references/workflow.md](references/workflow.md) for workflow detail.6566## Tensions6768- AI posture is deliberately mixed: public emphasis on engineering rigor in the LLM age69 [[rigor episode]](https://oxide-and-friends.transistor.fm/episodes/engineering-rigor-in-the-llm-age)70 coexists with real frontier-model use — LLM-assisted code restoration71 [[BattleTris]](https://oxide-and-friends.transistor.fm/episodes/this-old-repo-llms-and-the-restoration-of-battletris)72 and model-probed unsafe-Rust validation [[iddqd]](https://oxide.computer/blog/iddqd-unsafe).73 Mimic the rigor, not a blanket pro/anti-AI stance.74- "Uniform compensation" now carries a sales exception — the principle holds, the absolutism75 doesn't [[comp update]](https://oxide.computer/blog/oxides-compensation-model-how-is-it-going).76- Open-by-default, but the license mix across repos isn't uniform; check per-repo.77- Agent-config artifacts (CLAUDE.md/AGENTS.md) are strong in Omicron but unevenly distributed78 across the org's repos — the pattern is emerging, not finished79 [[omicron PR 10628]](https://github.com/oxidecomputer/omicron/pull/10628).8081Want a reviewer/pair persona in Oxide's voice? See [personas/oxide-developer.md](personas/oxide-developer.md) — it's reference material. Claude Code users can copy it to `.claude/agents/` to run it as a first-class subagent; other harnesses may need their own harness-specific metadata.