Engineering Handbook Template (Markdown)
An engineering handbook is the one place that says how an engineering team works: how it plans, writes and reviews code, ships, runs production and makes decisions. This Markdown template is a single page with an owner and a review date that links out to the detailed documents. Copy it or download the .md file.
Free to use, no attribution required (CC0).
Updated
{{Company or team}} engineering handbook
| Owner | {{Name or team}} |
| Applies to | {{All engineers / the platform team / contractors too}} |
| Last reviewed | {{YYYY-MM-DD}} |
| Next review | {{YYYY-MM-DD}} |
The handbook answers "how do we do things here?". Keep each page short, link to the longer document instead of copying it, and give every page one owner. Delete the hint lines when a section is filled in.
Start here
- What we build and who for: {{two sentences}}
- How to get help: {{channel, person, office hours}}
- First week: {{Onboarding checklist}}
- How to change this handbook: open a pull request or edit the page; {{who reviews}}
How we work
- Planning rhythm: {{sprints, cycles or continuous; planning and review days}}
- Ownership: {{who owns a service or area; where the list is}} ({{Service catalog}})
- Working agreements: {{core hours, response times, async-first rules}}
- Meetings we keep: {{standup, planning, retro, with the purpose of each}}
Engineering practices
Code and branches
- Branching: {{trunk-based / feature branches; naming}}
- Commits and pull requests: {{size, title format, description template}}
Code review
- Who reviews: {{rules}}
- Turnaround: {{expected time}}
- What reviewers check: {{correctness, tests, readability, security}}
Testing
- What must be tested: {{...}}
- Definition of done: {{checklist}}
Documentation
- What we document and where: {{design docs, runbooks, ADRs, API reference}} ({{Design doc template}})
Shipping
- Environments: {{dev, staging, production; who can deploy where}}
- Pipeline: {{CI steps, required checks}}
- Release process: {{how a change reaches users; cadence}} ({{Release process}})
- Feature flags: {{when to use them, who removes them, by when}}
- Release notes: {{who writes them, where they are published}}
Running in production
- On-call: {{rotation, handover, compensation, escalation}} ({{On-call guide}})
- Severity levels: {{SEV1 to SEV3 with an example each}}
- Incident response: {{roles, channel, status page}} ({{Incident process}})
- Runbooks: {{where they live; one per alert}} ({{Runbook index}})
- Postmortems: {{when required, blameless, where stored}}
Architecture and decisions
- System overview: {{diagram and the page that explains it}} ({{Architecture}})
- How we decide: {{when a design doc is required; who approves}}
- Decision records: {{where ADRs live; how to supersede one}}
- Approved technologies: {{languages, frameworks, databases; how to propose a new one}}
Security and access
- Access requests: {{how to ask, who approves, how fast}}
- Secrets: {{where they are stored; never in the repository}}
- Reporting a security issue: {{address or channel}}
- Dependency and vulnerability policy: {{...}}
Tools
| Tool | What it is for | Owner | How to get access |
|---|---|---|---|
| {{Source hosting}} | {{...}} | {{Name}} | {{...}} |
| {{CI/CD}} | {{...}} | {{Name}} | {{...}} |
| {{Monitoring}} | {{...}} | {{Name}} | {{...}} |
People and growth
- Levels and expectations: {{Career ladder}}
- One-on-ones and feedback: {{cadence; template link}}
- Learning: {{budget, conference policy, internal talks}}
Glossary
| Term | Meaning |
|---|---|
| {{Term}} | {{One sentence in the words people use here}} |
Changelog
| Date | Author | Change |
|---|---|---|
| {{YYYY-MM-DD}} | {{Name}} | First version |
# {{Company or team}} engineering handbook
| | |
|---|---|
| **Owner** | {{Name or team}} |
| **Applies to** | {{All engineers / the platform team / contractors too}} |
| **Last reviewed** | {{YYYY-MM-DD}} |
| **Next review** | {{YYYY-MM-DD}} |
*The handbook answers "how do we do things here?". Keep each page short, link to the longer document instead of copying it, and give every page one owner. Delete the hint lines when a section is filled in.*
## Start here
- **What we build and who for:** {{two sentences}}
- **How to get help:** {{channel, person, office hours}}
- **First week:** [{{Onboarding checklist}}]({{link}})
- **How to change this handbook:** open a pull request or edit the page; {{who reviews}}
## How we work
- **Planning rhythm:** {{sprints, cycles or continuous; planning and review days}}
- **Ownership:** {{who owns a service or area; where the list is}} ([{{Service catalog}}]({{link}}))
- **Working agreements:** {{core hours, response times, async-first rules}}
- **Meetings we keep:** {{standup, planning, retro, with the purpose of each}}
## Engineering practices
### Code and branches
- **Branching:** {{trunk-based / feature branches; naming}}
- **Commits and pull requests:** {{size, title format, description template}}
### Code review
- **Who reviews:** {{rules}}
- **Turnaround:** {{expected time}}
- **What reviewers check:** {{correctness, tests, readability, security}}
### Testing
- **What must be tested:** {{...}}
- **Definition of done:** {{checklist}}
### Documentation
- **What we document and where:** {{design docs, runbooks, ADRs, API reference}} ([{{Design doc template}}]({{link}}))
## Shipping
- **Environments:** {{dev, staging, production; who can deploy where}}
- **Pipeline:** {{CI steps, required checks}}
- **Release process:** {{how a change reaches users; cadence}} ([{{Release process}}]({{link}}))
- **Feature flags:** {{when to use them, who removes them, by when}}
- **Release notes:** {{who writes them, where they are published}}
## Running in production
- **On-call:** {{rotation, handover, compensation, escalation}} ([{{On-call guide}}]({{link}}))
- **Severity levels:** {{SEV1 to SEV3 with an example each}}
- **Incident response:** {{roles, channel, status page}} ([{{Incident process}}]({{link}}))
- **Runbooks:** {{where they live; one per alert}} ([{{Runbook index}}]({{link}}))
- **Postmortems:** {{when required, blameless, where stored}}
## Architecture and decisions
- **System overview:** {{diagram and the page that explains it}} ([{{Architecture}}]({{link}}))
- **How we decide:** {{when a design doc is required; who approves}}
- **Decision records:** {{where ADRs live; how to supersede one}}
- **Approved technologies:** {{languages, frameworks, databases; how to propose a new one}}
## Security and access
- **Access requests:** {{how to ask, who approves, how fast}}
- **Secrets:** {{where they are stored; never in the repository}}
- **Reporting a security issue:** {{address or channel}}
- **Dependency and vulnerability policy:** {{...}}
## Tools
| Tool | What it is for | Owner | How to get access |
|---|---|---|---|
| {{Source hosting}} | {{...}} | {{Name}} | {{...}} |
| {{CI/CD}} | {{...}} | {{Name}} | {{...}} |
| {{Monitoring}} | {{...}} | {{Name}} | {{...}} |
## People and growth
- **Levels and expectations:** [{{Career ladder}}]({{link}})
- **One-on-ones and feedback:** {{cadence; template link}}
- **Learning:** {{budget, conference policy, internal talks}}
## Glossary
| Term | Meaning |
|---|---|
| {{Term}} | {{One sentence in the words people use here}} |
## Changelog
| Date | Author | Change |
|---|---|---|
| {{YYYY-MM-DD}} | {{Name}} | First version |
How to use it
Step 1: Start with what people ask most. Fill in "Start here", code review, shipping and on-call first. Write what you do today, not what you wish you did.
Step 2: Link, do not copy. Each section holds a few lines and a link to the full document (the design doc, the runbook index, the release process). One source of truth per topic.
Step 3: Give it an owner and a review date, then use it. Point new hires to it on day one, and change the handbook in the same pull request that changes the practice.
What goes into an engineering handbook
The questions a new engineer asks in the first month. How do I get access? Who reviews my code? How does a change reach production? What do I do when I am paged? A handbook that answers these in plain words saves more time than any other document.
Practices, not policy prose. Write rules as short statements people can follow: reviewers respond within one working day, no releases on Friday, every feature flag has a removal date. If a rule has no reason or owner, drop it.
An index, not an encyclopedia. The handbook points to runbooks, design docs, release notes and the architecture overview. It should stay short enough to read in one sitting; detail belongs in the linked page.
Owned and reviewed. Put an owner and the next review date at the top. A handbook that nobody updates teaches people to stop reading it.
A filled-in engineering handbook example
The example is an excerpt for a fictional company, "Tidewater", with a fictional product and invented rules. It shows the level of detail to aim for: a few concrete lines per topic, with the rule, who does it and when.
# Tidewater engineering handbook (EXAMPLE, fictional company)
| | |
|---|---|
| **Owner** | Platform team |
| **Applies to** | All engineers, including contractors |
| **Last reviewed** | 2026-11-02 |
| **Next review** | 2027-05-02 |
## Start here
- **What we build and who for:** a scheduling tool for small clinics. Uptime matters more than speed of features.
- **How to get help:** ask in #eng-help; the platform team answers within one working day.
- **First week:** the onboarding checklist page.
- **How to change this handbook:** open a pull request; the platform team reviews within two days.
## How we work
- **Planning rhythm:** two-week cycles; planning on the first Monday, demo on the last Thursday.
- **Ownership:** every service has one owning team, listed in the service catalog.
- **Working agreements:** core hours 10:00 to 15:00 UTC; written updates over meetings.
## Engineering practices
### Code review
- **Who reviews:** one person from the owning team, plus a second reviewer for changes to billing or authentication.
- **Turnaround:** first response within one working day.
- **What reviewers check:** correctness, tests, readability, security. Style is left to the formatter.
### Definition of done
- [ ] Tests added or updated
- [ ] Documentation updated
- [ ] Feature flag created, with an owner and a removal date
- [ ] Release note line written
## Shipping
- **Environments:** development, staging, production. Any engineer can deploy to staging; production deploys need a passing pipeline and one approval.
- **Release process:** production releases go out on Tuesday and Thursday; no releases on Friday.
## Running in production
- **On-call:** one week per engineer, handover on Monday at 10:00 UTC.
- **Severity levels:** SEV1 is a full outage or data loss; SEV2 is a major feature broken; SEV3 is a minor problem with a workaround.
- **Postmortems:** required for every SEV1 and SEV2, blameless, written within five working days.
## Architecture and decisions
- **How we decide:** a design doc is required when a change touches more than one service or adds a dependency.
- **Approved technologies:** TypeScript, PostgreSQL, Redis. A new technology needs a design doc and the platform team's approval.
Where does each engineering document belong?
Short answer: the handbook says how the team works in general; the other documents are about one thing each. Link from the handbook to each of them.
| Document | Answers | Template |
|---|---|---|
| Engineering handbook | How does our team work? | This page |
| Design doc | How will we build this change? | Design doc template |
| Runbook | What do I do when this alert fires? | Runbook template |
| Postmortem | What did this incident teach us? | Postmortem template |
| Release notes | What changed for users in this version? | Release notes template |
| Onboarding checklist | What does a new hire do in the first 90 days? | Onboarding checklist |
More templates
Frequently asked questions
What is an engineering handbook?
A document that describes how an engineering team works: practices for code, review, testing, shipping and on-call, how decisions are made, and where the detailed documents live. New hires read it first and everyone uses it as a reference.
What should an engineering handbook contain?
A start-here page, how the team plans, coding and review practices, the release process, on-call and incident response, how architecture decisions are made, security and access rules, tools, growth expectations and a glossary. The template has a section for each.
How is an engineering handbook different from onboarding documentation?
Onboarding documentation guides one person through their first weeks. The handbook is the standing reference that everyone uses, and the onboarding checklist points into it. See the onboarding checklist template.
Should the handbook be public?
Some companies publish theirs; it helps hiring and gives others something to learn from. Publish only what contains no secrets, customer data or internal names you would not want outside, and keep the rest in a private space.
How do I keep an engineering handbook up to date?
Give each section an owner, set a review date at the top, and change the handbook in the same pull request that changes the practice. Version history shows who changed a rule and when, which makes disagreements easier to settle.
A handbook that lives with the code and the docs it links to
In Folio the handbook is a Markdown page in Git, next to the design docs, runbooks and release notes it points to. Links between pages stay valid when pages move, backlinks show which pages point to a rule, and the history shows who changed it. The built-in assistant can answer questions from the pages a user is allowed to see.