diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4553e686..a07137d9 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -11,8 +11,27 @@ permissions: contents: read jobs: + renderer-tests: + name: Test Dev Notes renderer (Python ${{ matrix.python-version }}) + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10", "3.12"] + steps: + - name: Checkout + uses: actions/checkout@v7 + + - name: Set up Python + uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + + - name: Run renderer tests + run: python -m unittest discover -s tests + validate: name: Validate documentation + needs: renderer-tests runs-on: ubuntu-latest steps: - name: Checkout @@ -28,9 +47,15 @@ jobs: - name: Check Dev Notes renderer syntax run: python -m py_compile scripts/render-dev-notes.py + - name: Check navigation JavaScript syntax + run: node --check docs/javascripts/navigation-drawer.js + - name: Build documentation run: scripts/build-docs.sh + - name: Verify generated documentation is committed + run: git diff --exit-code -- docs/dev-notes zensical.toml + deploy: name: Deploy documentation if: >- diff --git a/AGENTS.md b/AGENTS.md index 25ab4d70..6009786f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -46,8 +46,10 @@ explicit `url` or `avatar` fields when needed. Each Dev Note post needs `title`, `date`, `description`, and at least one author. The landing card uses `description` as its summary, `categories[0]` as the topic after `Dev Note`, and `card_tags` when present; otherwise it falls -back to `tags`. `card_variant` is optional and maps to a CSS modifier such as -`.dev-note-card--launch`. +back to `tags`. Dates must use the exact `YYYY-MM-DD` form. `card_variant` is +optional and maps to both the card and artwork CSS modifiers, such as +`.dev-note-card--launch` and `.dev-note-card__visual--launch`; add the +corresponding styles when introducing a new visual variant. Posts are sorted newest first by ISO `date`, then title. Use dated filenames such as `YYYY-MM-DD-short-title.md` so file paths stay stable and readable, but diff --git a/README.md b/README.md index d30c3344..975d3800 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,8 @@ OpenShell as the runtime. - `docs/dev-notes/` contains research engineering updates, release notes, and build logs worth sharing. - `docs/dev-notes/authors.json` contains reusable Dev Notes author metadata. +- `docs/documentation/` contains durable guides and references for packages, + libraries, benchmarks, and examples introduced in Dev Notes. - `projects/` contains self-contained research projects and a reusable Python project template. - `scripts/render-dev-notes.py` renders Dev Notes cards, post bylines, and @@ -31,6 +33,7 @@ To preview the documentation locally: python3 -m venv .venv source .venv/bin/activate python -m pip install -r requirements-docs.txt +python scripts/render-dev-notes.py zensical serve ``` @@ -55,14 +58,22 @@ after validation passes. Add new posts under `docs/dev-notes/posts/` with a dated filename such as `YYYY-MM-DD-short-title.md`. Set `authors` to IDs from `docs/dev-notes/authors.json`; add new authors there once, including their -GitHub handle and description. Run `python scripts/render-dev-notes.py` after -editing posts or authors so the landing-page cards, visible post bylines, and -Dev Notes navigation stay in sync. +GitHub handle and description. Dates must use the exact `YYYY-MM-DD` form. +`card_tags` controls the landing-page taxonomy (falling back to `tags`), and an +optional `card_variant` selects a matching visual modifier such as `launch`. +Run `python scripts/render-dev-notes.py` after editing posts or authors so the +landing-page cards, visible post bylines, and Dev Notes navigation stay in +sync; CI verifies that generated changes are committed. + +### Documentation + +Add durable software documentation under `docs/documentation/` when a Dev Note +introduces a package, library, benchmark, or reusable example. Link the +documentation back to its originating Dev Note and cover installation, usage, +reproducibility requirements, and known limitations. Add the new page beneath +the `Documentation` entry in `zensical.toml`. ## Content model -Use the documentation for durable project knowledge: architecture notes, -application guides, runtime integration details, and reproducible research -engineering workflows. Use Dev Notes for dated updates: experiments, milestones, -benchmarks, release notes, and lessons learned while turning research into OpenShell -applications. +Use Documentation for durable software knowledge. Use Dev Notes for dated +experiments, benchmarks, releases, use case examples, and engineering updates. diff --git a/docs/dev-notes/index.md b/docs/dev-notes/index.md index 9f8f608a..138d67d3 100644 --- a/docs/dev-notes/index.md +++ b/docs/dev-notes/index.md @@ -1,57 +1,108 @@ --- title: Dev Notes -description: Dated engineering notes, experiments, milestones, and lessons from building OpenShell research applications. +description: Research field notes, experiments, milestones, and lessons from building OpenShell research applications. hide: - toc --- -# Dev Notes - -
-
- - OpenShell Research -
-
-

Research-to-runtime field notes

-

- What changed, - what worked, - and what we learned. -

-

- Dev Notes are the dated engineering record for OpenShell Research: build - logs, experiment results, runtime discoveries, release notes, and the - useful mistakes that should not have to be rediscovered. -

-
-
+
+
+
+ + + OpenShell Research / Dev Notes + +
+
+
+

Dev Notes

+

+ Technical notes from the OpenShell team – reproducible research, + benchmarks, and use case examples. +

+
+
+
-
- - -
+ +
+
+

Recent notes

+ The working archive +
+ +
+ + +
diff --git a/docs/dev-notes/posts/2026-06-04-bootstrapping-openshell-research.md b/docs/dev-notes/posts/2026-06-04-bootstrapping-openshell-research.md index b0303dd2..fd1121ee 100644 --- a/docs/dev-notes/posts/2026-06-04-bootstrapping-openshell-research.md +++ b/docs/dev-notes/posts/2026-06-04-bootstrapping-openshell-research.md @@ -24,9 +24,13 @@ card_tags: -
-

Authors

-
+