From 6e398ebdf0b0bf656a34ed4dd3b92963d684a888 Mon Sep 17 00:00:00 2001 From: Crash Over Burn Date: Wed, 15 Apr 2026 00:48:45 +0000 Subject: Add comprehensive project documentation Create complete documentation set in doc/ folder: - index.rst: Main project overview, quickstart, architecture - philosophy.rst: Design principles, KDL rationale, VCS diversity - roadmap.rst: Phased development plan (Phase 2.5 current, Phase 3 graphs next) - history.rst: Development timeline, key decisions, lessons learned - manifest.rst: Updated to v0.2.0, added Fossil docs, schema upgrade notes Documentation covers: - Current state (Phase 2.5) - Complete roadmap through Phase 4 - Visual dependency graph plans (Phase 3) - Philosophy and anti-corporate stance - History from origins to present All documentation in reStructuredText format for website generation. --- doc/manifest.rst | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'doc/manifest.rst') diff --git a/doc/manifest.rst b/doc/manifest.rst index 9d1d74a..728e515 100644 --- a/doc/manifest.rst +++ b/doc/manifest.rst @@ -6,7 +6,7 @@ Setting up for pinning down inputs -------------------------------------------------------------------------------- :author: toastal -:version: 0.1.1 +:version: 0.2.0 .. role:: ab .. role:: ac @@ -18,14 +18,20 @@ Synopsis Nixtamal uses :ac:`KDL` for its manifest describing inputs. At the highest level, this includes: -• manifest version +• manifest version (supports schema upgrades via ``nixtamal upgrade``) • default hashing algorithm • list of inputs - • the input kind & its specific attributes - • a command to check if ‘latest’ + • the input kind & its specific attributes (Git, Darcs, Pijul, Fossil, etc.) + • a command to check if 'latest' • hashing information +.. note:: + + The manifest uses schema versioning (currently 0.2.0). When upgrading + nixtamal, use ``nixtamal upgrade`` to migrate manifests between schema + versions. The upgrade command creates backups and supports rollback. + .. note:: While :ac:`KDL` Schema Language exists, it seems there is a upcoming `v2 @@ -77,7 +83,7 @@ At a high level these should be seen as “kind” There are specific nodes for each different type of supported fetchers/prefetchers: ``file``, ``archive``, ``git``, ``darcs``, ``pijul`` - (with more to come in the future). + ``fossil``, ``nilla``. ``hash`` An optional node for hash algorithm information for a input. The ``algorithm`` property will be used when prefetching, locking, & for @@ -163,6 +169,15 @@ Pijul reference point for getting stable reference; if unsure, try ``channel main`` +Fossil +-------------------------------------------------------------------------------- + +``repository`` + `Templated node`_ repository reference for the input +“reference” + ``branch`` *or* ``tag`` *or* ``checkin`` node as the reference point for + getting stable reference; checkins are SHA1 hashes of commits + Templated node ================================================================================ -- cgit v1.2.3