Sign inSign up

onjin/constellate

By onjin

•Updated 7 months ago

CLI + live editor for markdown workspaces (docs, status-driven tasks) that build/serve portal.

Image
Developer tools
Content management system
0

2.6K

onjin/constellate repository overview

⁠Constellation Portal

Constellation Portal is a Rust-powered CLI and live editor that turns curated markdown workspaces—requirements, docs, ADRs, audits, support tickets, and status-driven task boards—into a themeable knowledge portal. Build, serve, validate, and CRUD everything from a single binary with configurable defaults and quick scaffolding for new documents.

⁠Quick Start

# Preview your local workspace with live reload on port 8080
docker run --rm -p 8080:8080 \
  -v "$PWD/workspace:/workspace" \
  onjin/constellate:latest

Static hosting

FROM onjin/constellate:latest AS builder
WORKDIR /workspace
COPY workspace/ /workspace/
RUN constellate build --input /workspace --output /workspace/dist

FROM nginx:1.25-alpine
COPY --from=builder /workspace/dist /usr/share/nginx/html

Build and run it:

docker build -t constellate-site .
docker run --rm -p 8080:80 constellate-site

⁠Features

  • 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).
  • The generated home page includes a Material-styled task digest that surfaces in-progress, next-up, and recently finished tasks; tweak the number of entries via .constellate.toml (cards.task_summary_limit).
  • Sidebar navigation supports configurable collections per document type (status buckets with per-bucket limits) plus an optional "View all" drawer that reuses the search index for scoped browsing.
  • 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.
  • constellate validate checks markdown syntax (frontmatter structure, YAML validity) and validates internal links, with options for syntax-only or links-only checks and path filtering for targeted validation.
  • [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.

Tag summary

Content type

Image

Digest

sha256:45a13db75…

Size

34.2 MB

Last updated

7 months ago

docker pull onjin/constellate