Documentation
Learn the small part first. Reach for the rest when you need it.
Nift's core model is intentionally compact: install one executable, track the files you want to build, put shared structure in templates and partials, and let Nift keep paths and incremental dependencies straight. Everything else in your web stack can stay itself.
A tracked name connects content, a template and an output. @content places the tracked content, @input(...) composes reusable files, @pathto(...) creates checked project-aware paths, and Nift records enough dependency information to rebuild the outputs affected by a change.
Start here.
If you are new to Nift, these four pages are the shortest route from installation to a useful project.
Install Nift
Use your platform's package manager, a release binary, or build the single native executable from source.
Build the barebones project
Run nift init .html, see the content/template relationship, and build your first tracked output.
Learn the tiny template surface
Most projects go a long way with @content, @input, @pathto, metadata and environment values.
Use the fast development loop
After the first build, let nift build rebuild only the outputs affected by what you changed.
Choose your starting style.
Built with Nift
See actual Nift projects and the architecture behind each one.
Starter projectsBegin with a polished template
Download a complete dark-mode Nift project and replace the design/content with your own.
AI-assistedGive an assistant the barebones project
Use the downloadable starter + ai-context.txt, then describe the site you actually want.
Bring an existing site
Keep the frontend you already have. Extract repeated structure instead of rewriting the project into a framework.
Design philosophyWhy Nift?
Understand why Nift deliberately occupies a small boundary in a much larger web ecosystem.
Independent perspectiveChatGPT: Nift vs other tools
A candid subjective comparison with Astro, Hugo and Next.js—including where I would choose each and where Nift is weaker.
The everyday reference.
Paths & links
Use @pathto to reuse links from any nesting depth and catch missing local targets during builds.
Page & build metadata
Use tracked titles, names, paths, dates, times and build information with $[...].
Commands
Track, build, inspect, watch, move, copy and remove the files Nift manages.
StructureProject layout
See how content/, templates/, public/ and the rest of your repository can fit together.
Understand what Nift is tracking.
config.json
Project-wide directories, extensions, template defaults, thread count and incremental mode.
.nifttracked.json
The names, titles, templates and optional per-item extension overrides for tracked outputs.
Advanced escape hatch@dep
Only for the uncommon external dependency that Nift cannot infer from normal composition.
Ship what you build.
Nift's responsibility can end at the generated files. Deploy public/ to a static host, serve it from your own backend, or package it into a larger application.
Go beyond a simple static site.
Use your wider toolchain
npm, Bun, TypeScript, Vite, Tailwind, bundlers, image tools and anything else that can compose through files.
Full stackWeb applications
Pair Nift with Go, Node, Express, Python, APIs, authentication, databases and realtime backends.
FrontendReact / Vue / Svelte islands
Let a component framework own the interactive region without forcing it to own every document.
ContentDocumentation projects
Compose large shared navigation and technical content while incremental builds keep changes focused.
The documentation is intentionally broader than the core language. Start with installation, Getting Started and the template essentials. The rest is here when your project reaches the problem it explains.