Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,13 @@ add_custom_target(
${SPHINX_OPTS}
${DOCS_SRC_DIR}
${DOCS_BUILD_DIR}
COMMAND ${CMAKE_COMMAND} -E make_directory ${DOCS_BUILD_DIR}/architecture
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${DOCS_SRC_DIR}/architecture/architecture.html
${DOCS_BUILD_DIR}/architecture/architecture.html
COMMAND ${CMAKE_COMMAND} -E copy_if_different
${DOCS_SRC_DIR}/architecture/architecture.json
${DOCS_BUILD_DIR}/architecture/architecture.json
USES_TERMINAL
COMMENT "Running Sphinx HTML build..."
)
16 changes: 16 additions & 0 deletions docs/architecture.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Architecture
============

The note-c architecture documentation is maintained with the repository so
module boundaries, public contracts, runtime flow, and update triggers stay
visible as the SDK evolves.

Open the `interactive architecture map`_ for the visual graph, or inspect the
`structured architecture data`_ used to generate the map.

.. _interactive architecture map: architecture/architecture.html
.. _structured architecture data: architecture/architecture.json

For the narrative overview, see the repository-level `ARCHITECTURE.md`_ file.

.. _ARCHITECTURE.md: https://github.com/blues/note-c/blob/master/ARCHITECTURE.md
1 change: 1 addition & 0 deletions docs/architecture/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ After code changes:
- `architecture.html`: single-file visual map for humans. It embeds data from `architecture.json` so it can be opened directly from disk.
- `architecture.json`: structured map for AI agents and tooling.
- `embed-architecture-json.mjs`: refreshes the embedded JSON block in `architecture.html` from `architecture.json`.
- `../architecture.rst`: Sphinx documentation page that links to the published architecture map and JSON artifact.
- `decisions/*.md`: architecture decision records.
- `templates/repo-architecture.md`: template for future architecture docs.
- `../../AGENTS.md`, `../../CLAUDE.md`, `../../GEMINI.md`, `../../.github/copilot-instructions.md`, and `../../.cursor/rules/architecture-docs.mdc`: AI entrypoints that point future tools back to these docs.
Expand Down
12 changes: 12 additions & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@ note-c

note-c is the official C library for communicating with a `Blues Notecard <https://blues.com/products/notecard/>`_. The source code is open source and `available on GitHub <https://github.com/blues/note-c>`_ under the MIT license.

Architecture
------------

Use the :doc:`architecture overview <architecture>` to understand note-c's
module boundaries, public contracts, runtime flow, and update triggers. The
overview links to the `interactive architecture map`_ and the
`structured architecture data`_ used to render it.

.. _interactive architecture map: architecture/architecture.html
.. _structured architecture data: architecture/architecture.json

.. toctree::
:maxdepth: 1

Expand All @@ -16,3 +27,4 @@ note-c is the official C library for communicating with a `Blues Notecard <https
calling_the_notecard_api
ports
api_reference
architecture
Loading