summaryrefslogtreecommitdiff
path: root/doc/manifest.rst
diff options
context:
space:
mode:
authorCrash Over Burn2026-04-15 00:48:45 +0000
committer·𐑑𐑴𐑕𐑑𐑩𐑤2026-04-15 00:48:45 +0000
commit6e398ebdf0b0bf656a34ed4dd3b92963d684a888 (patch)
tree37eeca14e6e41ff23820adcb239f374bf844be35 /doc/manifest.rst
parente6c901d2e5430a3815109b38ced11a4f695f0226 (diff)
downloadnixtaml-6e398ebdf0b0bf656a34ed4dd3b92963d684a888.tar
nixtaml-6e398ebdf0b0bf656a34ed4dd3b92963d684a888.tar.gz
nixtaml-6e398ebdf0b0bf656a34ed4dd3b92963d684a888.tar.bz2
nixtaml-6e398ebdf0b0bf656a34ed4dd3b92963d684a888.tar.lz
nixtaml-6e398ebdf0b0bf656a34ed4dd3b92963d684a888.tar.xz
nixtaml-6e398ebdf0b0bf656a34ed4dd3b92963d684a888.tar.zst
nixtaml-6e398ebdf0b0bf656a34ed4dd3b92963d684a888.zip
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.
Diffstat (limited to 'doc/manifest.rst')
-rw-r--r--doc/manifest.rst25
1 files changed, 20 insertions, 5 deletions
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,16 +18,22 @@ 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
<https://github.com/kdl-org/kdl/pull/486>`_. It seems to address some issues
with the v1 :ab:`spec` which would both help, but also render using the
@@ -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
================================================================================