nats-io/nats-architecture-and-design

Architecture and Design Docs

Go

433

799 commits

updated Sep 16, 2026

See the code

README

NATS

NATS Architecture And Design

This repository captures Architecture, Design Specifications and Feature Guidance for the NATS ecosystem.

2.11

IndexTagsDescription
ADR-31jetstream, client, server, 2.11JetStream Direct Get
ADR-41observability, server, 2.11NATS Message Path Tracing
ADR-42jetstream, server, 2.11Pull Consumer Priority Groups
ADR-43jetstream, client, server, 2.11JetStream Per-Message TTL
ADR-44jetstream, server, 2.11, 2.12Versioning for JetStream Assets
ADR-48jetstream, client, kv, refinement, 2.11TTL Support for Key-Value Buckets (updating ADR-8)

2.12

IndexTagsDescription
ADR-44jetstream, server, 2.11, 2.12Versioning for JetStream Assets
ADR-49jetstream, spec, 2.12JetStream Distributed Counter CRDT
ADR-50jetstream, server, client, 2.12, 2.14JetStream Batch Publishing
ADR-51jetstream, 2.12, 2.14JetStream Message Scheduler
ADR-55server, 2.12Trusted Protocol Aware Proxies
ADR-56server, 2.12JetStream Consistency Models

2.14

IndexTagsDescription
ADR-50jetstream, server, client, 2.12, 2.14JetStream Batch Publishing
ADR-51jetstream, 2.12, 2.14JetStream Message Scheduler
ADR-60jetstream, client, server, 2.14, refinementJetStream reliable stream sourcing/mirroring on WQ/Interest streams (updating ADR-59)

2.15

IndexTagsDescription
ADR-61server, jetstream, 2.15Unsafe meta group quorum rescue for disaster recovery
ADR-62server, jetstream, 2.15JetStream desired state reconciliation
ADR-63jetstream, server, client, 2.15JetStream Stream Backup and Restore V2

Client

IndexTagsDescription
ADR-1jetstream, client, serverJetStream JSON API Design
ADR-2jetstream, server, clientNATS Typed Messages
ADR-4server, clientNATS Message Headers
ADR-5server, clientLame Duck Notification
ADR-6server, clientNaming Rules
ADR-7server, client, jetstreamNATS Server Error Codes
ADR-8jetstream, client, kv, specJetStream based Key-Value Stores
ADR-9server, client, jetstreamJetStream Consumer Idle Heartbeats
ADR-10server, client, jetstreamJetStream Extended Purge
ADR-11clientHostname resolution
ADR-13jetstream, clientPull Subscribe internals
ADR-14client, securityJWT library free jwt user generation
ADR-17jetstream, clientOrdered Consumer
ADR-19jetstream, client, kv, objectstoreAPI prefixes for materialized JetStream views
ADR-20jetstream, client, objectstore, specJetStream based Object Stores
ADR-21clientNATS Configuration Contexts
ADR-22jetstream, clientJetStream Publish Retries on No Responders
ADR-31jetstream, client, server, 2.11JetStream Direct Get
ADR-32client, specService API
ADR-33jetstream, client, serverMetadata for Stream and Consumer
ADR-34jetstream, client, serverJetStream Consumers Multiple Filters
ADR-35jetstream, client, serverJetStream Filestore Compression
ADR-36jetstream, client, serverSubject Mapping Transforms in Streams
ADR-37jetstream, client, specJetStream Simplification
ADR-40client, server, specNATS Connection
ADR-43jetstream, client, server, 2.11JetStream Per-Message TTL
ADR-47client, spec, orbitRequest Many
ADR-48jetstream, client, kv, refinement, 2.11TTL Support for Key-Value Buckets (updating ADR-8)
ADR-50jetstream, server, client, 2.12, 2.14JetStream Batch Publishing
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)
ADR-57jetstream, client, spec, kv, refinementKV Subject Transforms (updating ADR-8)
ADR-58jetstream, client, kvKey-Value Store Roadmap and future considerations (updating ADR-8)
ADR-60jetstream, client, server, 2.14, refinementJetStream reliable stream sourcing/mirroring on WQ/Interest streams (updating ADR-59)
ADR-63jetstream, server, client, 2.15JetStream Stream Backup and Restore V2

Jetstream

IndexTagsDescription
ADR-1jetstream, client, serverJetStream JSON API Design
ADR-2jetstream, server, clientNATS Typed Messages
ADR-7server, client, jetstreamNATS Server Error Codes
ADR-8jetstream, client, kv, specJetStream based Key-Value Stores
ADR-9server, client, jetstreamJetStream Consumer Idle Heartbeats
ADR-10server, client, jetstreamJetStream Extended Purge
ADR-12jetstreamJetStream Encryption At Rest
ADR-13jetstream, clientPull Subscribe internals
ADR-17jetstream, clientOrdered Consumer
ADR-19jetstream, client, kv, objectstoreAPI prefixes for materialized JetStream views
ADR-20jetstream, client, objectstore, specJetStream based Object Stores
ADR-22jetstream, clientJetStream Publish Retries on No Responders
ADR-28jetstream, serverJetStream RePublish
ADR-31jetstream, client, server, 2.11JetStream Direct Get
ADR-33jetstream, client, serverMetadata for Stream and Consumer
ADR-34jetstream, client, serverJetStream Consumers Multiple Filters
ADR-35jetstream, client, serverJetStream Filestore Compression
ADR-36jetstream, client, serverSubject Mapping Transforms in Streams
ADR-37jetstream, client, specJetStream Simplification
ADR-42jetstream, server, 2.11Pull Consumer Priority Groups
ADR-43jetstream, client, server, 2.11JetStream Per-Message TTL
ADR-44jetstream, server, 2.11, 2.12Versioning for JetStream Assets
ADR-48jetstream, client, kv, refinement, 2.11TTL Support for Key-Value Buckets (updating ADR-8)
ADR-49jetstream, spec, 2.12JetStream Distributed Counter CRDT
ADR-50jetstream, server, client, 2.12, 2.14JetStream Batch Publishing
ADR-51jetstream, 2.12, 2.14JetStream Message Scheduler
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)
ADR-57jetstream, client, spec, kv, refinementKV Subject Transforms (updating ADR-8)
ADR-58jetstream, client, kvKey-Value Store Roadmap and future considerations (updating ADR-8)
ADR-59server, jetstream, specJetStream Stream Sourcing and Mirroring
ADR-60jetstream, client, server, 2.14, refinementJetStream reliable stream sourcing/mirroring on WQ/Interest streams (updating ADR-59)
ADR-61server, jetstream, 2.15Unsafe meta group quorum rescue for disaster recovery
ADR-62server, jetstream, 2.15JetStream desired state reconciliation
ADR-63jetstream, server, client, 2.15JetStream Stream Backup and Restore V2

Kv

IndexTagsDescription
ADR-8jetstream, client, kv, specJetStream based Key-Value Stores
ADR-19jetstream, client, kv, objectstoreAPI prefixes for materialized JetStream views
ADR-48jetstream, client, kv, refinement, 2.11TTL Support for Key-Value Buckets (updating ADR-8)
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)
ADR-57jetstream, client, spec, kv, refinementKV Subject Transforms (updating ADR-8)
ADR-58jetstream, client, kvKey-Value Store Roadmap and future considerations (updating ADR-8)

Objectstore

IndexTagsDescription
ADR-19jetstream, client, kv, objectstoreAPI prefixes for materialized JetStream views
ADR-20jetstream, client, objectstore, specJetStream based Object Stores

Observability

IndexTagsDescription
ADR-3observability, serverNATS Service Latency Distributed Tracing Interoperability
ADR-41observability, server, 2.11NATS Message Path Tracing

Orbit

IndexTagsDescription
ADR-47client, spec, orbitRequest Many
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)

Refinement

IndexTagsDescription
ADR-48jetstream, client, kv, refinement, 2.11TTL Support for Key-Value Buckets (updating ADR-8)
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)
ADR-57jetstream, client, spec, kv, refinementKV Subject Transforms (updating ADR-8)
ADR-60jetstream, client, server, 2.14, refinementJetStream reliable stream sourcing/mirroring on WQ/Interest streams (updating ADR-59)

Security

IndexTagsDescription
ADR-14client, securityJWT library free jwt user generation
ADR-38server, securityOCSP Peer Verification
ADR-39server, securityCertificate Store

Server

IndexTagsDescription
ADR-1jetstream, client, serverJetStream JSON API Design
ADR-2jetstream, server, clientNATS Typed Messages
ADR-3observability, serverNATS Service Latency Distributed Tracing Interoperability
ADR-4server, clientNATS Message Headers
ADR-5server, clientLame Duck Notification
ADR-6server, clientNaming Rules
ADR-7server, client, jetstreamNATS Server Error Codes
ADR-9server, client, jetstreamJetStream Consumer Idle Heartbeats
ADR-10server, client, jetstreamJetStream Extended Purge
ADR-26serverNATS Authorization Callouts
ADR-28jetstream, serverJetStream RePublish
ADR-30serverSubject Transform
ADR-31jetstream, client, server, 2.11JetStream Direct Get
ADR-33jetstream, client, serverMetadata for Stream and Consumer
ADR-34jetstream, client, serverJetStream Consumers Multiple Filters
ADR-35jetstream, client, serverJetStream Filestore Compression
ADR-36jetstream, client, serverSubject Mapping Transforms in Streams
ADR-38server, securityOCSP Peer Verification
ADR-39server, securityCertificate Store
ADR-40client, server, specNATS Connection
ADR-41observability, server, 2.11NATS Message Path Tracing
ADR-42jetstream, server, 2.11Pull Consumer Priority Groups
ADR-43jetstream, client, server, 2.11JetStream Per-Message TTL
ADR-44jetstream, server, 2.11, 2.12Versioning for JetStream Assets
ADR-50jetstream, server, client, 2.12, 2.14JetStream Batch Publishing
ADR-53serverFeature flags
ADR-55server, 2.12Trusted Protocol Aware Proxies
ADR-56server, 2.12JetStream Consistency Models
ADR-59server, jetstream, specJetStream Stream Sourcing and Mirroring
ADR-60jetstream, client, server, 2.14, refinementJetStream reliable stream sourcing/mirroring on WQ/Interest streams (updating ADR-59)
ADR-61server, jetstream, 2.15Unsafe meta group quorum rescue for disaster recovery
ADR-62server, jetstream, 2.15JetStream desired state reconciliation
ADR-63jetstream, server, client, 2.15JetStream Stream Backup and Restore V2

Spec

IndexTagsDescription
ADR-8jetstream, client, kv, specJetStream based Key-Value Stores
ADR-20jetstream, client, objectstore, specJetStream based Object Stores
ADR-32client, specService API
ADR-37jetstream, client, specJetStream Simplification
ADR-40client, server, specNATS Connection
ADR-47client, spec, orbitRequest Many
ADR-49jetstream, spec, 2.12JetStream Distributed Counter CRDT
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)
ADR-57jetstream, client, spec, kv, refinementKV Subject Transforms (updating ADR-8)
ADR-59server, jetstream, specJetStream Stream Sourcing and Mirroring

Deprecated

IndexTagsDescription
ADR-15deprecatedJetStream Subscribe Workflow
ADR-18deprecatedURL support for all client options
ADR-52deprecatedNo Headers support for Direct Get

When to write an ADR

We use this repository in a few ways:

  1. Design specifications where a single document captures everything about a feature, examples are ADR-8, ADR-32, ADR-37 and ADR-40
  2. Guidance on conventions and design such as ADR-6 which documents all the valid naming rules
  3. Capturing design that might impact many areas of the system such as ADR-2

We want to move away from using these to document individual minor decisions, moving instead to spec like documents that are living documents and can change over time. Each capturing revisions and history.

Template

Please see the template. The template body is a guideline. Feel free to add sections as you feel appropriate. Look at the other ADRs for examples. However, the initial Table of metadata and header format is required to match.

After editing / adding a ADR please run go run main.go > README.md to update the embedded index. This will also validate the header part of your ADR.

Significant stargazers

Feng Lee

429 followers · starred Jun 2026

Karl Skewes

14 followers · starred Feb 2024

Sandro Martini

19 followers · starred Feb 2024

John Taylor

62 followers · starred Nov 2025

nats-io/nats-architecture-and-design

Architecture and Design Docs

Go

433

799 commits

updated Sep 16, 2026

See the code

README

NATS

NATS Architecture And Design

This repository captures Architecture, Design Specifications and Feature Guidance for the NATS ecosystem.

2.11

IndexTagsDescription
ADR-31jetstream, client, server, 2.11JetStream Direct Get
ADR-41observability, server, 2.11NATS Message Path Tracing
ADR-42jetstream, server, 2.11Pull Consumer Priority Groups
ADR-43jetstream, client, server, 2.11JetStream Per-Message TTL
ADR-44jetstream, server, 2.11, 2.12Versioning for JetStream Assets
ADR-48jetstream, client, kv, refinement, 2.11TTL Support for Key-Value Buckets (updating ADR-8)

2.12

IndexTagsDescription
ADR-44jetstream, server, 2.11, 2.12Versioning for JetStream Assets
ADR-49jetstream, spec, 2.12JetStream Distributed Counter CRDT
ADR-50jetstream, server, client, 2.12, 2.14JetStream Batch Publishing
ADR-51jetstream, 2.12, 2.14JetStream Message Scheduler
ADR-55server, 2.12Trusted Protocol Aware Proxies
ADR-56server, 2.12JetStream Consistency Models

2.14

IndexTagsDescription
ADR-50jetstream, server, client, 2.12, 2.14JetStream Batch Publishing
ADR-51jetstream, 2.12, 2.14JetStream Message Scheduler
ADR-60jetstream, client, server, 2.14, refinementJetStream reliable stream sourcing/mirroring on WQ/Interest streams (updating ADR-59)

2.15

IndexTagsDescription
ADR-61server, jetstream, 2.15Unsafe meta group quorum rescue for disaster recovery
ADR-62server, jetstream, 2.15JetStream desired state reconciliation
ADR-63jetstream, server, client, 2.15JetStream Stream Backup and Restore V2

Client

IndexTagsDescription
ADR-1jetstream, client, serverJetStream JSON API Design
ADR-2jetstream, server, clientNATS Typed Messages
ADR-4server, clientNATS Message Headers
ADR-5server, clientLame Duck Notification
ADR-6server, clientNaming Rules
ADR-7server, client, jetstreamNATS Server Error Codes
ADR-8jetstream, client, kv, specJetStream based Key-Value Stores
ADR-9server, client, jetstreamJetStream Consumer Idle Heartbeats
ADR-10server, client, jetstreamJetStream Extended Purge
ADR-11clientHostname resolution
ADR-13jetstream, clientPull Subscribe internals
ADR-14client, securityJWT library free jwt user generation
ADR-17jetstream, clientOrdered Consumer
ADR-19jetstream, client, kv, objectstoreAPI prefixes for materialized JetStream views
ADR-20jetstream, client, objectstore, specJetStream based Object Stores
ADR-21clientNATS Configuration Contexts
ADR-22jetstream, clientJetStream Publish Retries on No Responders
ADR-31jetstream, client, server, 2.11JetStream Direct Get
ADR-32client, specService API
ADR-33jetstream, client, serverMetadata for Stream and Consumer
ADR-34jetstream, client, serverJetStream Consumers Multiple Filters
ADR-35jetstream, client, serverJetStream Filestore Compression
ADR-36jetstream, client, serverSubject Mapping Transforms in Streams
ADR-37jetstream, client, specJetStream Simplification
ADR-40client, server, specNATS Connection
ADR-43jetstream, client, server, 2.11JetStream Per-Message TTL
ADR-47client, spec, orbitRequest Many
ADR-48jetstream, client, kv, refinement, 2.11TTL Support for Key-Value Buckets (updating ADR-8)
ADR-50jetstream, server, client, 2.12, 2.14JetStream Batch Publishing
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)
ADR-57jetstream, client, spec, kv, refinementKV Subject Transforms (updating ADR-8)
ADR-58jetstream, client, kvKey-Value Store Roadmap and future considerations (updating ADR-8)
ADR-60jetstream, client, server, 2.14, refinementJetStream reliable stream sourcing/mirroring on WQ/Interest streams (updating ADR-59)
ADR-63jetstream, server, client, 2.15JetStream Stream Backup and Restore V2

Jetstream

IndexTagsDescription
ADR-1jetstream, client, serverJetStream JSON API Design
ADR-2jetstream, server, clientNATS Typed Messages
ADR-7server, client, jetstreamNATS Server Error Codes
ADR-8jetstream, client, kv, specJetStream based Key-Value Stores
ADR-9server, client, jetstreamJetStream Consumer Idle Heartbeats
ADR-10server, client, jetstreamJetStream Extended Purge
ADR-12jetstreamJetStream Encryption At Rest
ADR-13jetstream, clientPull Subscribe internals
ADR-17jetstream, clientOrdered Consumer
ADR-19jetstream, client, kv, objectstoreAPI prefixes for materialized JetStream views
ADR-20jetstream, client, objectstore, specJetStream based Object Stores
ADR-22jetstream, clientJetStream Publish Retries on No Responders
ADR-28jetstream, serverJetStream RePublish
ADR-31jetstream, client, server, 2.11JetStream Direct Get
ADR-33jetstream, client, serverMetadata for Stream and Consumer
ADR-34jetstream, client, serverJetStream Consumers Multiple Filters
ADR-35jetstream, client, serverJetStream Filestore Compression
ADR-36jetstream, client, serverSubject Mapping Transforms in Streams
ADR-37jetstream, client, specJetStream Simplification
ADR-42jetstream, server, 2.11Pull Consumer Priority Groups
ADR-43jetstream, client, server, 2.11JetStream Per-Message TTL
ADR-44jetstream, server, 2.11, 2.12Versioning for JetStream Assets
ADR-48jetstream, client, kv, refinement, 2.11TTL Support for Key-Value Buckets (updating ADR-8)
ADR-49jetstream, spec, 2.12JetStream Distributed Counter CRDT
ADR-50jetstream, server, client, 2.12, 2.14JetStream Batch Publishing
ADR-51jetstream, 2.12, 2.14JetStream Message Scheduler
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)
ADR-57jetstream, client, spec, kv, refinementKV Subject Transforms (updating ADR-8)
ADR-58jetstream, client, kvKey-Value Store Roadmap and future considerations (updating ADR-8)
ADR-59server, jetstream, specJetStream Stream Sourcing and Mirroring
ADR-60jetstream, client, server, 2.14, refinementJetStream reliable stream sourcing/mirroring on WQ/Interest streams (updating ADR-59)
ADR-61server, jetstream, 2.15Unsafe meta group quorum rescue for disaster recovery
ADR-62server, jetstream, 2.15JetStream desired state reconciliation
ADR-63jetstream, server, client, 2.15JetStream Stream Backup and Restore V2

Kv

IndexTagsDescription
ADR-8jetstream, client, kv, specJetStream based Key-Value Stores
ADR-19jetstream, client, kv, objectstoreAPI prefixes for materialized JetStream views
ADR-48jetstream, client, kv, refinement, 2.11TTL Support for Key-Value Buckets (updating ADR-8)
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)
ADR-57jetstream, client, spec, kv, refinementKV Subject Transforms (updating ADR-8)
ADR-58jetstream, client, kvKey-Value Store Roadmap and future considerations (updating ADR-8)

Objectstore

IndexTagsDescription
ADR-19jetstream, client, kv, objectstoreAPI prefixes for materialized JetStream views
ADR-20jetstream, client, objectstore, specJetStream based Object Stores

Observability

IndexTagsDescription
ADR-3observability, serverNATS Service Latency Distributed Tracing Interoperability
ADR-41observability, server, 2.11NATS Message Path Tracing

Orbit

IndexTagsDescription
ADR-47client, spec, orbitRequest Many
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)

Refinement

IndexTagsDescription
ADR-48jetstream, client, kv, refinement, 2.11TTL Support for Key-Value Buckets (updating ADR-8)
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)
ADR-57jetstream, client, spec, kv, refinementKV Subject Transforms (updating ADR-8)
ADR-60jetstream, client, server, 2.14, refinementJetStream reliable stream sourcing/mirroring on WQ/Interest streams (updating ADR-59)

Security

IndexTagsDescription
ADR-14client, securityJWT library free jwt user generation
ADR-38server, securityOCSP Peer Verification
ADR-39server, securityCertificate Store

Server

IndexTagsDescription
ADR-1jetstream, client, serverJetStream JSON API Design
ADR-2jetstream, server, clientNATS Typed Messages
ADR-3observability, serverNATS Service Latency Distributed Tracing Interoperability
ADR-4server, clientNATS Message Headers
ADR-5server, clientLame Duck Notification
ADR-6server, clientNaming Rules
ADR-7server, client, jetstreamNATS Server Error Codes
ADR-9server, client, jetstreamJetStream Consumer Idle Heartbeats
ADR-10server, client, jetstreamJetStream Extended Purge
ADR-26serverNATS Authorization Callouts
ADR-28jetstream, serverJetStream RePublish
ADR-30serverSubject Transform
ADR-31jetstream, client, server, 2.11JetStream Direct Get
ADR-33jetstream, client, serverMetadata for Stream and Consumer
ADR-34jetstream, client, serverJetStream Consumers Multiple Filters
ADR-35jetstream, client, serverJetStream Filestore Compression
ADR-36jetstream, client, serverSubject Mapping Transforms in Streams
ADR-38server, securityOCSP Peer Verification
ADR-39server, securityCertificate Store
ADR-40client, server, specNATS Connection
ADR-41observability, server, 2.11NATS Message Path Tracing
ADR-42jetstream, server, 2.11Pull Consumer Priority Groups
ADR-43jetstream, client, server, 2.11JetStream Per-Message TTL
ADR-44jetstream, server, 2.11, 2.12Versioning for JetStream Assets
ADR-50jetstream, server, client, 2.12, 2.14JetStream Batch Publishing
ADR-53serverFeature flags
ADR-55server, 2.12Trusted Protocol Aware Proxies
ADR-56server, 2.12JetStream Consistency Models
ADR-59server, jetstream, specJetStream Stream Sourcing and Mirroring
ADR-60jetstream, client, server, 2.14, refinementJetStream reliable stream sourcing/mirroring on WQ/Interest streams (updating ADR-59)
ADR-61server, jetstream, 2.15Unsafe meta group quorum rescue for disaster recovery
ADR-62server, jetstream, 2.15JetStream desired state reconciliation
ADR-63jetstream, server, client, 2.15JetStream Stream Backup and Restore V2

Spec

IndexTagsDescription
ADR-8jetstream, client, kv, specJetStream based Key-Value Stores
ADR-20jetstream, client, objectstore, specJetStream based Object Stores
ADR-32client, specService API
ADR-37jetstream, client, specJetStream Simplification
ADR-40client, server, specNATS Connection
ADR-47client, spec, orbitRequest Many
ADR-49jetstream, spec, 2.12JetStream Distributed Counter CRDT
ADR-54jetstream, client, spec, orbit, kv, refinementKV Codecs (updating ADR-8)
ADR-57jetstream, client, spec, kv, refinementKV Subject Transforms (updating ADR-8)
ADR-59server, jetstream, specJetStream Stream Sourcing and Mirroring

Deprecated

IndexTagsDescription
ADR-15deprecatedJetStream Subscribe Workflow
ADR-18deprecatedURL support for all client options
ADR-52deprecatedNo Headers support for Direct Get

When to write an ADR

We use this repository in a few ways:

  1. Design specifications where a single document captures everything about a feature, examples are ADR-8, ADR-32, ADR-37 and ADR-40
  2. Guidance on conventions and design such as ADR-6 which documents all the valid naming rules
  3. Capturing design that might impact many areas of the system such as ADR-2

We want to move away from using these to document individual minor decisions, moving instead to spec like documents that are living documents and can change over time. Each capturing revisions and history.

Template

Please see the template. The template body is a guideline. Feel free to add sections as you feel appropriate. Look at the other ADRs for examples. However, the initial Table of metadata and header format is required to match.

After editing / adding a ADR please run go run main.go > README.md to update the embedded index. This will also validate the header part of your ADR.

Significant stargazers

Feng Lee

429 followers · starred Jun 2026

Karl Skewes

14 followers · starred Feb 2024

Sandro Martini

19 followers · starred Feb 2024

John Taylor

62 followers · starred Nov 2025

Languages

Go

80.6%

templ

19.4%