{"id":20931370,"url":"https://github.com/adr/gadr","last_synced_at":"2026-03-14T20:17:13.271Z","repository":{"id":86878654,"uuid":"170039219","full_name":"adr/gadr","owner":"adr","description":"Generalized Architecture Decision Records","archived":false,"fork":false,"pushed_at":"2024-05-07T13:16:37.000Z","size":8,"stargazers_count":11,"open_issues_count":0,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-01-19T19:09:17.892Z","etag":null,"topics":["adr","architecture-decision","architecture-decision-records"],"latest_commit_sha":null,"homepage":"https://adr.github.io/gadr/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-10T23:23:13.000Z","updated_at":"2024-06-20T10:45:36.000Z","dependencies_parsed_at":"2023-05-29T16:15:24.036Z","dependency_job_id":null,"html_url":"https://github.com/adr/gadr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adr%2Fgadr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adr%2Fgadr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adr%2Fgadr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adr%2Fgadr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adr","download_url":"https://codeload.github.com/adr/gadr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243324506,"owners_count":20273113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adr","architecture-decision","architecture-decision-records"],"created_at":"2024-11-18T21:41:43.892Z","updated_at":"2025-12-25T20:54:03.880Z","avatar_url":"https://github.com/adr.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Generalized Architectural Decision Records [![part of ADR](https://img.shields.io/badge/part_of-ADR-blue.svg)](https://adr.github.io)\n\nAn [Architectural Decision Record](https://adr.github.io/) (ADR) is recording an architectural decision (AD).\nSuch a decision might be to use Gradle instead of Maven as build tool.\nIn another project, Maven might be preferred over Gradle.\nThe pros and cons of each decision might be somewhat general (appearing in both projects) or local (appearing in the context of one project only).\nGADRs are about capturing the general options and their pros and cons.\n[Prof. Dr. Olaf Zimmermann](https://www.ifs.hsr.ch/Olaf-Zimmermann.11623.0.html) coined the terms \"Decision Required\" and \"Decisions Made\" in his [PhD thesis](http://dx.doi.org/10.18419/opus-2665).\nAn overview is in the article [Decisions Required vs. Decisions Made](http://soadecisions.org/download/zimmermann_chap_mistrik_book.pdf).\nHe also distinguishes between \"Problem Space\" and \"Solution Space\" (see O. Zimmermann et al. [Architectural Decision Guidance across Projects](http://www.ifs.hsr.ch/fileadmin/user_upload/customers/ifs.hsr.ch/Home/projekte/ADMentor-WICSA2015ubmissionv11nc.pdf), IEEE/IFIP WICSA 2015).\n\n| Model Type | Problem Space | Relation | Solution Space |\n| -- | -- | -- | -- |\n| Reach/Level | Asset (Community) | | Project |\n| Owner | Knowledge Engineer | | Software Architect |\n| Purpose | Design Guidance | | Decision (Back-)Log |\n| Need for Architectural Decision | Problem \u003cbr\u003e `\\--raises-^` | `--1-instantiates-n--\u003e` | Problem Occurrence |\n| Design Candidates | Option | `--1-instantiates-n--\u003e` | Option Occurrence |\n\nWe collect generalized architectural decisions based on categories:\n\n| Category | Repository |\n| -- | -- |\n| Java | \u003chttps://github.com/adr/gadr-java\u003e |\n| LaTeX | \u003chttps://github.com/latextemplates/gadr-latex-packages\u003e |\n| Misc | \u003chttps://github.com/adr/gadr-misc\u003e |\n\nADRs taken when designing GADR are recorded at [docs/adr](docs/adr).\n\nScientific paper: [Oliver Kopp and Anita Armbruster: Generalized Markdown Architectural Decision Records: Capturing the Essence of Decisions (short paper). ZEUS 2019: 55-57](https://dblp.org/rec/conf/zeus/KoppA19)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadr%2Fgadr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadr%2Fgadr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadr%2Fgadr/lists"}