{
    "componentChunkName": "component---src-templates-mdx-js",
    "path": "/community/core/docs/adr/0000-use-markdown-architectural-decision-records.md",
    "result": {"data":{"site":{"siteMetadata":{"title":"Thoth Station Help"}},"mdx":{"id":"a8e55a06-7a1f-50c1-8d78-8ea903dde99b","body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", null, \"Use Markdown Architectural Decision Records\"), mdx(\"h2\", null, \"Context and Problem Statement\"), mdx(\"p\", null, \"We want to record architectural decisions made in Project Thoth. Which format and structure should these records follow?\"), mdx(\"h2\", null, \"Considered Options\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://adr.github.io/madr/\"\n  }, \"MADR\"), \" 2.1.2 \\u2013 The Markdown Architectural Decision Records\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions\"\n  }, \"Michael Nygard\\u2019s template\"), \" \\u2013 The first incarnation of the term \\u201CADR\\u201D\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://www.infoq.com/articles/sustainable-architectural-design-decisions\"\n  }, \"Sustainable Architectural Decisions\"), \" \\u2013 The Y-Statements\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Other templates listed at \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://github.com/joelparkerhenderson/architecture_decision_record\"\n  }, \"https://github.com/joelparkerhenderson/architecture\", \"_\", \"decision\", \"_\", \"record\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Formless \\u2013 No conventions for file format and structure\")), mdx(\"h2\", null, \"Decision Outcome\"), mdx(\"p\", null, \"Chosen option: \\u201CMADR 2.1.2\\u201D, because\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Implicit assumptions should be made explicit.\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Design documentation is important to enable people understanding the decisions later on.\"), mdx(\"p\", {\n    parentName: \"li\"\n  }, \"See also \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://doi.org/10.1109/TSE.1986.6312940\"\n  }, \"A rational design process: How and why to fake it\"), \".\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"The MADR format is lean and fits our development style.\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"The MADR structure is comprehensible and facilitates usage & maintenance.\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"The MADR project is vivid.\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"p\", {\n    parentName: \"li\"\n  }, \"Version 2.1.2 is the latest one available when starting to document ADRs.\"))));\n}\n;\nMDXContent.isMDXComponent = true;","fields":{"srcLink":"https://github.com/thoth-station/core/blob/master/docs/adr/0000-use-markdown-architectural-decision-records.md"},"frontmatter":{"title":"","description":null}}},"pageContext":{"id":"a8e55a06-7a1f-50c1-8d78-8ea903dde99b"}},
    "staticQueryHashes": ["1276261476","2902925331","3000541721","489485899"]}