Get started¶
A site on the theme has three parts:
- A
zensical.tomlfile. - A
docs/directory with the Markdown pages. - The
zensical-isccpackage in the docs dependencies of the project.
You need Python 3.11 or newer.
With a coding agent¶
The repository is also a Claude Code plugin marketplace. Its plugin has two skills:
| Skill | Does |
|---|---|
zensical-iscc:iscc-docs-theme |
Sets up, migrates, upgrades or checks the theme in a project, also from MkDocs Material |
zensical-iscc:docs-for-agents |
Writes and updates the For Coding Agents page of the site |
Install the plugin:
Then, in the project, tell the agent: "Put the docs on the ISCC theme". The skill examines the project. It asks you
for the information that only you have, for example the tagline and whether the site uses the chat widget. When it
is done, the site passes zensical-iscc check --strict.
Other agents can follow the steps in
skills/iscc-docs-theme/SKILL.md.
By hand¶
1. Add the dependency¶
Get the latest release tag:
Add the theme to the dependency group of your docs tools:
[dependency-groups]
docs = ["zensical-iscc"]
[tool.uv.sources]
zensical-iscc = { git = "https://github.com/iscc/zensical-iscc", tag = "vX.Y.Z" }
The theme pins the Zensical version that it is tested with. Remove all direct requirements on zensical, mkdocs
and mkdocs-material. Then run uv lock and uv sync.
If you do not use uv, install the theme with pip:
2. Configure the site¶
- Copy
zensical.tomlfrom the theme repository. - Replace each value that has the comment
# site. - Add the
nav, the Markdown extensions and the plugins of your project.
Configuration explains each setting. Read its TOML traps first.
3. Write the pages¶
Give each page a navigation icon in its front matter. Put the "For Coding Agents" page last in the navigation. Writing pages has all conventions. Components shows the elements that the theme styles.
4. Build, check and preview¶
| Task | Command |
|---|---|
| Build | uv run zensical-iscc build |
| Check | uv run zensical-iscc check --strict |
| Preview | python -m http.server <port> --directory site after a build |
| Draft | uv run zensical serve --dev-addr 127.0.0.1:<port> for live reload |
zensical serve does not run the build steps of the theme. Its preview has no project logo, no "Copy page"
content and no llms.txt. To see the real site, serve the built site/ directory.
5. Deploy¶
- Copy
docs-workflow.ymlto.github/workflows/docs.yml. The workflow builds and checks the site for each pull request. It deploysmainto GitHub Pages. - For a custom domain, put the domain in
docs/CNAME. - Add the host name of the site at stats.iscc.codes. Plausible does not count visits to a host that is not registered.
Upgrade¶
- Change the
tagin[tool.uv.sources]. - Run
uv lock --upgrade-package zensical-iscc. - Build and check the site.
The changelog tells what changed in each release and which Zensical version the release pins.