Set up your machine in one command. It works on macOS, Linux, and WSL, and you don't need to clone anything:
curl -fsSL https://raw.githubusercontent.com/havilandsoftware/development-guide/main/install.sh | sh
claude # first run: sign in when prompted
> /dev-checkNo curl yet (a fresh Ubuntu)? Use wget -qO- …/install.sh | sh with the same address.
This installs Claude Code and the /dev-check skill. /dev-check then checks your machine against
the newest technology radar and gives you a checklist of what to install.
Details ↓
Hello! 👋 My name is Karl Haviland and this is my company's development guide for your benefit to use freely! Over my nearly 20 year career, I have been lucky enough to hire and train many developers that work at some of the best development shops around the world. This repository captures many of the practices and technical background I use today to keep my teams up to date and in order. It is published openly because I believe in transparency and sharing such as coding standards, git workflow, AI-assisted development practices. I am continually adjusting this guide, so if you have ideas for new additions, please let me know!
Work through these in order. Days are a guide, not a deadline.
| Do this | Read | |
|---|---|---|
| 1 | Run the Quick Start one-liner, then /dev-check, and resolve every ❌ |
Quick Start |
| 1 | Create your accounts, install anything /dev-check flagged, configure git and SSH |
Installation and Setup Guide |
| 2 | Learn how we work — branching, PRs, tickets, code review | Expectations · Git & GitHub |
| 3 | Learn how we use AI, and where we are careful with it | AI Responsibility Guide · Claude Code |
| 4 | Read the standards for your language before your first PR | Coding Standards |
| 5 | Understand how code reaches production | Release Guide |
| Ongoing | Fill the gaps, in this order | Learning Guide |
The one thing that matters most: if you are stuck, say so early. Asking a question on day one is a good signal. Being quietly blocked for two days is the only real way to struggle here.
One command on any macOS, Linux, or WSL machine. No clone needed:
curl -fsSL https://raw.githubusercontent.com/havilandsoftware/development-guide/main/install.sh | shIt installs Claude Code if you do not have
it, and adds the /dev-check skill for your user. Then:
claude # first run: sign in to your Claude account when prompted
> /dev-checkIf Claude Code was only just installed, open a new terminal first so claude is on your PATH.
/dev-check audits your machine against this guide: toolchain, cloud CLIs, git config, SSH, and
InnoDay. Then it offers to install what's missing. Run it again until it is clean. Run it from inside a project and it also checks what that project needs.
It prints every tool /dev-check will check, with its minimum version and install link. After the
audit, /dev-check offers to install everything missing, or lets you choose, and can also upgrade
tools that already pass. It installs in dependency order, using the exact commands in the radar.
Anything that needs sudo comes back as one block for you to paste.
Versions and install links come from the technology radar: dated CSVs, with the newest one used by default. To use a different one, pass a radar file name, a local path, or a URL:
curl -fsSL https://raw.githubusercontent.com/havilandsoftware/development-guide/main/install.sh | sh -s -- 2026-09-28.csvPiping a script into your shell deserves a look first: install.sh is under 80 lines,
needs no sudo, and writes only to ~/.claude/skills/dev-check/ (plus Anthropic's own Claude Code
installer when claude is missing). Re-run it any time to pick up the latest checks.
/interview — a guided walkthrough of the interview task —
ships in this repo. Clone it and run claude from inside to use it.
If you're interested in working with an amazing group of innovators, we value clear communication and thought, good questions, independence, and organization over years of experience or whether you know the ins and outs of a specific technology. Tools change; those habits are what make someone worth working with on the second project as much as the first!
If that sounds like you, let us know you exist — fill out Join Us.
This guide is published for reference and is maintained by our own team, so we do not accept outside pull requests. That said, I meant what I said above about wanting ideas — open an issue. Spotted a stale version, a broken link, or a standard that no longer makes sense? That is genuinely useful and I would rather hear it.
Security concerns go through SECURITY.md, not a public issue.
Documentation is licensed CC BY 4.0; the embedded code and configuration samples are additionally MIT-licensed so you can copy them into your own projects freely. See LICENSE.