northgen
v1.0.6
Published
CLI tool to generate academic documents using a modular Cartridge architecture
Downloads
692
Maintainers
Readme
northgen
CLI tool to generate academic documents with Quarto, modular presets, and optional Word post-processing on Windows.
What It Does
northgen creates portable document projects and renders them with a vendored runtime, so the user mostly edits:
index.qmdbibliography.bib_metadata.yml
Quick Start
npx northgen init my-project --preset apa7
cd my-project
npx northgen renderCommands
northgen init [name]
Creates a new project structure and materializes the selected preset runtime locally.
Options:
--preset <name>: preset/cartridge to use. Default:apa7
northgen render [file]
Renders the document using the active preset.
Options:
--preset <name>: change output style. Default:apa7--no-postprocess: skip Word finishing steps--verbose: show full Quarto logs
northgen doctor
Checks whether Quarto, Python, and related dependencies are available.
northgen destroy
Deletes the northgen-managed project footprint from the current directory.
Options:
--all-docx: also remove generated.docxfiles in the current project root
northgen setup
Attempts to install core system dependencies automatically on Windows through winget.
northgen cartridge list
Lists bundled cartridges/presets.
Requirements
- Node.js 18+
- Quarto CLI
- Windows only, for advanced DOCX finishing:
- Python 3
- Microsoft Word
Publish
This package is intended to be published publicly to npm and then used as:
npx northgen init my-projectRuntime Layout
The package ships with:
- compiled CLI code in
dist/ - executable wrapper in
bin/ - runtime assets in
src/runtime/
That runtime includes engine filters, presets, reference DOCX files, and Word automation scripts.
Project Teardown
Projects initialized with northgen init now include a .northgen-manifest.json
file. northgen destroy uses it to remove the generated project scaffold
(_extensions, _quarto.yml, _metadata.yml, index.qmd, bibliography.bib,
etc.) and any outputs recorded by northgen render.
