Skip to main content

v2.10: Themes, the Hub, and the Ecosystem

· 3 min read

v2.10 is the ecosystem release. Eight built-in themes. The Hub — a platform for sharing templates and themes. Shallow indexes for folder-level querying. And 76 seeded templates across 8 domains.

Themes without npm

Every theme is a JSON file with four sections: fonts, colors, spacing, and optional block overrides. No CSS to write. No build step. No npm package.

{
"name": "corporate",
"fonts": {
"body": "Inter",
"heading": "Inter",
"mono": "JetBrains Mono",
"size": "10pt",
"leading": "1.5"
},
"colors": { "text": "#1a1a1a", "heading": "#111", "accent": "#2563eb" },
"spacing": { "page-margin": "1in", "section-gap": "2rem" }
}

Apply it:

intenttext document.it --html --theme corporate

Eight themes ship built-in: corporate, minimal, warm, technical, print, legal, editorial, dark. Each is designed for a specific use case — legal themes use serif fonts, technical themes use monospace headers, editorial themes have generous whitespace.

The Hub

The IntentText Hub at intenttext-hub.vercel.app is a two-tier platform:

  1. Templates — Complete .it files with {{variable}} placeholders. Pull them, merge your data, render.
  2. Themes — JSON theme files. Pull them, apply to any document.

We've seeded the Hub with 76 templates across 8 domains: business, legal, finance, HR, technical, education, healthcare, and government. Every template works with every theme.

Publishing

Anyone with a GitHub account can publish:

intenttext hub login
intenttext hub publish invoice-premium.it --domain finance --description "Premium invoice with line items"

Templates are validated before publishing. They must parse cleanly, include at least one variable, and match their declared domain.

Shallow indexes

v2.10 introduces .it-index files — shallow indexes that summarize a folder of .it documents:

intenttext index ./contracts

This produces a JSON file with metadata and block summaries for every .it file in the folder. Queries then run against the index instead of re-parsing every file:

intenttext query ./contracts --type deadline --format table

The architecture is deliberately shallow — each index covers one folder, no recursion. Compose indexes across folders for cross-cutting queries.

76 templates

The seeded templates cover real document types:

DomainTemplatesExamples
Business12invoice, proposal, meeting minutes
Legal10NDA, service agreement, terms of service
Finance8budget, expense report, financial statement
HR10offer letter, performance review, onboarding
Technical12API spec, incident report, runbook
Education8syllabus, lesson plan, assessment
Healthcare8patient intake, prescription, referral
Government8permit, public notice, meeting agenda

Every template is a real, complete document — not a skeleton. Pull one and you have a working starting point.

Browse templates on the Hub →