From b9c1a5d0b69e09c73c5a536252d09096440a7c9f Mon Sep 17 00:00:00 2001 From: Jonas Hagberg Date: Tue, 25 Nov 2025 15:42:41 +0100 Subject: [PATCH 1/4] Add initial project structure with .gitignore, ADR directory, and updated README --- .adr-dir | 1 + .gitignore | 61 +++++++++++++++++++ README.md | 5 +- .../0001-record-architecture-decisions.md | 19 ++++++ 4 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 .adr-dir create mode 100644 .gitignore create mode 100644 docs/decisions/0001-record-architecture-decisions.md diff --git a/.adr-dir b/.adr-dir new file mode 100644 index 0000000..51c5f29 --- /dev/null +++ b/.adr-dir @@ -0,0 +1 @@ +docs/decisions diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..da4b14b --- /dev/null +++ b/.gitignore @@ -0,0 +1,61 @@ +# Quarto build outputs +_site/ +.quarto/ + +# R +.Rhistory +.RData +.Rproj.user + +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +venv/ +env/ +ENV/ + +# Jupyter Notebooks +.ipynb_checkpoints +*/.ipynb_checkpoints/* + +# macOS +.DS_Store +.AppleDouble +.LSOverride + +# Linux +*~ +.directory +.Trash-* + +# Windows +Thumbs.db +ehthumbs.db +Desktop.ini +$RECYCLE.BIN/ + +# IDEs and Editors +.vscode/ +.idea/ +*.swp +*.swo +*~ +.project +.settings/ +.classpath + +# Logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Temporary files +*.tmp +*.temp +*.bak +*.backup + diff --git a/README.md b/README.md index b92a47b..f40df14 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ -# architecture -Technical architecture governance for SciLifeLab infrastructure - ensuring interoperability, standards, and sustainable design +# SciLifeLab Architecture Board + +Technical architecture governance for SciLifeLab infrastructure - ensuring interoperability, standards, and sustainable design diff --git a/docs/decisions/0001-record-architecture-decisions.md b/docs/decisions/0001-record-architecture-decisions.md new file mode 100644 index 0000000..8a20493 --- /dev/null +++ b/docs/decisions/0001-record-architecture-decisions.md @@ -0,0 +1,19 @@ +# 1. Record architecture decisions + +Date: 2025-11-25 + +## Status + +Accepted + +## Context + +We need to record the architectural decisions made on this project. + +## Decision + +We will use Architecture Decision Records, as [described by Michael Nygard](http://thinkrelevance.com/blog/2011/11/15/documenting-architecture-decisions). + +## Consequences + +See Michael Nygard's article, linked above. For a lightweight ADR toolset, see Nat Pryce's [adr-tools](https://github.com/npryce/adr-tools). From d865b954367eb67a89d264d2375263ed7aac8906 Mon Sep 17 00:00:00 2001 From: Jonas Hagberg Date: Mon, 8 Dec 2025 10:35:43 +0100 Subject: [PATCH 2/4] Update .gitignore to remove obsolete entries and add MkDocs build output and temporary files --- .gitignore | 65 ++++-------------------------------------------------- 1 file changed, 4 insertions(+), 61 deletions(-) diff --git a/.gitignore b/.gitignore index da4b14b..5cb97ce 100644 --- a/.gitignore +++ b/.gitignore @@ -1,61 +1,4 @@ -# Quarto build outputs -_site/ -.quarto/ - -# R -.Rhistory -.RData -.Rproj.user - -# Python -__pycache__/ -*.py[cod] -*$py.class -*.so -.Python -venv/ -env/ -ENV/ - -# Jupyter Notebooks -.ipynb_checkpoints -*/.ipynb_checkpoints/* - -# macOS -.DS_Store -.AppleDouble -.LSOverride - -# Linux -*~ -.directory -.Trash-* - -# Windows -Thumbs.db -ehthumbs.db -Desktop.ini -$RECYCLE.BIN/ - -# IDEs and Editors -.vscode/ -.idea/ -*.swp -*.swo -*~ -.project -.settings/ -.classpath - -# Logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Temporary files -*.tmp -*.temp -*.bak -*.backup - +# MkDocs build output +site/ +# temporary files +tmp/ From bbdf92cb3bb06ff3b4d9f176b6ff5e261513ca47 Mon Sep 17 00:00:00 2001 From: Jonas Hagberg Date: Tue, 9 Dec 2025 12:06:36 +0100 Subject: [PATCH 3/4] Refactor README and architecture decision records; add ADR template and script for formatting identifiers according to review comment --- README.md | 2 +- .../0001-record-architecture-decisions.md | 2 +- docs/decisions/templates/template.md | 19 +++++++++++++++++++ scripts/adr-new | 17 +++++++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 docs/decisions/templates/template.md create mode 100755 scripts/adr-new diff --git a/README.md b/README.md index f40df14..519b4c5 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ -# SciLifeLab Architecture Board +# SciLifeLab Architecture Technical architecture governance for SciLifeLab infrastructure - ensuring interoperability, standards, and sustainable design diff --git a/docs/decisions/0001-record-architecture-decisions.md b/docs/decisions/0001-record-architecture-decisions.md index 8a20493..09ca272 100644 --- a/docs/decisions/0001-record-architecture-decisions.md +++ b/docs/decisions/0001-record-architecture-decisions.md @@ -1,4 +1,4 @@ -# 1. Record architecture decisions +# ADR-0001. Record architecture decisions Date: 2025-11-25 diff --git a/docs/decisions/templates/template.md b/docs/decisions/templates/template.md new file mode 100644 index 0000000..1f7944b --- /dev/null +++ b/docs/decisions/templates/template.md @@ -0,0 +1,19 @@ +# ADR-NUMBER. TITLE + +Date: DATE + +## Status + +STATUS + +## Context + +The issue motivating this decision, and any context that influences or constrains the decision. + +## Decision + +The change that we're proposing or have agreed to implement. + +## Consequences + +What becomes easier or more difficult to do and any risks introduced by the change that will need to be mitigated. diff --git a/scripts/adr-new b/scripts/adr-new new file mode 100755 index 0000000..c3323eb --- /dev/null +++ b/scripts/adr-new @@ -0,0 +1,17 @@ +#!/bin/bash +# Wrapper for adr-new that formats ADR identifiers as ADR-0001, ADR-0002, etc. +set -e + +# Create the ADR using the standard tool +output=$(adr new "$@") + +if [ -n "$output" ] && [ -f "$output" ]; then + # Extract the number from filename (e.g., 0002 from 0002-some-title.md) + filename=$(basename "$output") + padded_num=$(echo "$filename" | grep -oE '^[0-9]+') + + # Replace "ADR-N." with "ADR-000N." in the file + sed -i "s/^# ADR-[0-9]\+\./# ADR-${padded_num}./" "$output" + + echo "$output" +fi From 76697ecfeca1077202c9ea3337050b8a4467928f Mon Sep 17 00:00:00 2001 From: Jonas Hagberg Date: Tue, 9 Dec 2025 12:16:09 +0100 Subject: [PATCH 4/4] Update adr-new script to use extended regex for formatting ADR identifiers --- scripts/adr-new | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/adr-new b/scripts/adr-new index c3323eb..6e23629 100755 --- a/scripts/adr-new +++ b/scripts/adr-new @@ -11,7 +11,7 @@ if [ -n "$output" ] && [ -f "$output" ]; then padded_num=$(echo "$filename" | grep -oE '^[0-9]+') # Replace "ADR-N." with "ADR-000N." in the file - sed -i "s/^# ADR-[0-9]\+\./# ADR-${padded_num}./" "$output" + sed -i -E "s/^# ADR-[0-9]+\./# ADR-${padded_num}./" "$output" echo "$output" fi