ExteNote
A tool for managing structured Markdown content. Define schemas, validate frontmatter, build static sites, and keep bibliographic references accurate.
# Install
git clone https://github.com/nickmvincent/extenote.git
cd extenote && bun install && bun run build
# Use via CLI, TUI, or web interface
bun run cli -- status
bun run cli -- check shared-references
bun run web What It Does
Schema Validation
Define content types in YAML. ExteNote validates frontmatter against your schemas and reports issues with file paths and line numbers.
Reference Checking
Verify bibliographic entries against DBLP, Semantic Scholar, OpenAlex, and Crossref. Identify mismatches and missing metadata.
Multi-Project Support
Manage multiple content projects in one vault. Each project can have its own schemas, build config, and deploy target.
Static Site Building
Export content to JSON, Markdown, or BibTeX. Build sites with Astro or Quarto. Deploy to GitHub Pages or Cloudflare.
Tag Operations
Rename, merge, or delete tags across your vault. Preview changes before applying. Supports hierarchical tags with colon separators.
Federated Publishing
Sync content to ATProto (Bluesky ecosystem) via Semble. Optionally create GitHub Discussions for content items.
Issue Tracking
Lint rules catch common problems: missing required fields, invalid types, compatibility issues. View all issues in one place.
Three Interfaces
CLI for scripting and automation. Terminal UI for keyboard-driven browsing. Web UI for visual exploration and review workflows.
Backup & Undo
Destructive operations (tag mutations, bulk edits) create automatic backups. Undo recent changes if something goes wrong.
LLM-Ready Data
Schema-validated data stays clean and portable. Use LLMs to rapidly build fit-for-purpose interfaces without corrupting your source data.
Typical Workflow
Content management with validation
Write
Create Markdown files with YAML frontmatter matching your schemas
Validate
Run extenote status or lint to catch issues
Check
Verify references against external databases if needed
Build
Export content and build static sites with Astro or Quarto
Example: Data Leverage Network
A set of interconnected sites managed with ExteNote
Use Cases
ExteNote works well for:
- Research bibliographies — maintain accurate citations with automated verification
- Multi-site content — share content across projects with includes and cross-references
- Structured knowledge bases — enforce consistency with schemas and lint rules
- Academic writing — export to BibTeX, build with Quarto for papers and books
- LLM-generated tools — clean data + schema means you can quickly spin up custom interfaces (a todo app, a review tracker) with LLMs, without compromising data integrity