| Crates.io | constellate |
| lib.rs | constellate |
| version | 0.1.6 |
| created_at | 2026-01-25 21:23:00.952622+00 |
| updated_at | 2026-01-25 21:28:53.727404+00 |
| description | Constellation Portal is a Rust-based CLI that converts curated markdown collections (requirements, ADRs, audits, tasks) into a static, themeable knowledge portal. |
| homepage | |
| repository | https://github.com/onjin/constellate |
| max_upload_size | |
| id | 2069574 |
| size | 2,952,327 |
Constellation Portal is a Rust-based CLI that converts curated markdown collections (requirements, ADRs, audits, tasks) into a static, themeable knowledge portal. It follows the plan vision of shipping a single, extensible binary with configurable defaults and quick scaffolding for new documents.
constellate build turns a workspace directory into a distributable static site (implementation placeholder for now).constellate serve watches the workspace, rebuilds on changes, and serves the Material-themed portal with live reload (port configurable via --port and --no-watch to disable)..constellate.toml (cards.task_summary_limit).constellate status enforces per-type workflows (todo/ready/in-progress/done, etc.), updates front matter, and logs transitions under a ## Changes section.constellate new scaffolds ADRs, tasks, or audits with sensible front matter, sequential IDs (based on configurable prefixes/widths), ID-prefixed slugified filenames (configurable globally or per document type), and a created: YYYY-MM-DD HH:MM:SS timestamp.[document_types.list] can emit auto-generated list documents (an “all” view plus optional per-status partitions) and surface them as shortcuts at the top of the navigation sidebar.constellate init bootstraps a brand-new workspace by creating workspace/pages with a welcome doc, a minimal .constellate.toml, and a .gitignore that ignores workspace/dist.constellate theme list enumerates built-in layouts so teams can plan overrides, and constellate theme export copies the default templates into your workspace for customization.constellate dump-config writes the default .constellate.toml so teams can override folders, document types, and templates.cargo.nix-shell nix/shell.nix).nix run github:onjin/constellate executes the packaged CLI directly from the flake, while nix shell github:onjin/constellate drops the binary into a subshell.nix develop github:onjin/constellate reuses nix/shell.nix so you can enter the development environment without cloning.flake.nix exposes packages.constellate, an overlay, and dev shells so other flakes can inputs.constellate and reference self.packages.${system}.constellate.imports = [ inputs.constellate.nixosModules.constellate ]; programs.constellate.enable = true;.inputs.constellate.homeManagerModules.constellate and toggle programs.constellate.enable = true to add the binary to home.packages.nix develop or nix flake check rely on the same shell definition used by nix-shell nix/shell.nix.constellate completion --shell bash > constellate.bash to generate a Bash completion script (other shells supported via --shell).enableBashIntegration = true by default, which enables Bash completion when you toggle programs.constellate.enable = true.Development workflow, template guard rails, and documentation expectations now live in CONTRIBUTING.md. Refer to that guide for cargo commands, template export instructions, and the renderer migration plan before opening a PR.
src/main.rs – clap-powered CLI entry point.Cargo.toml – crate metadata and dependencies (clap, color-eyre).nix/shell.nix – development environment definition.workspace/pages/ – default document tree (requirements, docs, support, tasks, ADRs, audits, initiatives) that tracks Constellate itself and serves as the sample input for constellate build.workspace/.constellate.toml – workspace-scoped configuration that maps document types to folders and points to the template overrides directory.workspace/templates/ – optional override directory for Minijinja templates and partials referenced by the theme configuration..constellate.toml also governs per-type status workflows and ID generation. Each [[document_types]] entry can define statuses = [...] plus id = { prefix = "REQ-", width = 3 } so constellate new always issues the next sequential identifier with consistent padding. Use the [portal] block to customize the site title/subtitle that appear in the header and hero (defaults to “Constellate Portal” / “Markdown → Material UI”).