Extenote

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

1

Write

Create Markdown files with YAML frontmatter matching your schemas

2

Validate

Run extenote status or lint to catch issues

3

Check

Verify references against external databases if needed

4

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: