markdown corpus · Jira convert · quality checks
canonic
canonical responses, versioned in git
Versioned canned-response corpus for Jira workflows - markdown under a shared configured prefix is the source of truth. Convert with pandoc, gate with quality checks, search and dedupe with Tantivy.
Why canonic#
Shared support answers should live in git, not only in Jira comments.
canonic treats version-controlled markdown under corpus/responses/ as the
source of truth: check quality before migration, convert with pandoc’s Jira
writer, lint with Vale or in-process Harper, and search or dedupe with a local
Tantivy index.
Workflow at a glance#
- 1 Author in markdown Shared prefix from canonic.toml, front matter, team closing. {prefix}-*.md
- 2 Check quality Ids, prefix, sop, and generic closings - fail the PR early. canonic check
- 3 Search & dedupe Local Tantivy BM25 + Jaccard for near-copy discovery. canonic search · dedupe
- 4 Publish to Jira Convert or explicit one-shot comment; imports stay drafts until promote. canonic convert · jira-comment · tui
Full pipeline diagram - details in Architecture.
What you need → what you run#
Front matter, configured prefix id, and team closings.
- canonic checkexit 1 on findings
Pandoc jira writer for a human to paste.
- canonic convert PATH
BM25 search and near-duplicate pairs.
- canonic search "…"
- canonic dedupe
REST read path → drafts under corpus/imports/.
- canonic import-jira "JQL"
Install#
cargo install --git https://github.com/HaoZeke/canonic
# or from a checkout:
cargo build --release
Requirements: Rust 1.85+, pandoc for convert,
optional Vale for style lint (Harper is linked in-process).
Run canonic doctor to see what the environment can already do.
First canned response#
-
Scaffold
canonic new "Example topic"→corpus/responses/resp-example-topic.md(or edit the included demoresp-demo-shared-quota.md). -
Validate
canonic check -
Index & search
canonic reindexthencanonic search "example topic" -
Convert Needs pandoc:
canonic convert corpus/responses/resp-demo-shared-quota.md
Full command reference: Usage.
Documentation map#
CLI overview, corpus layout, dedupe, Jira import, exit codes.
Why Tantivy, markdown-as-source, and the review-before-migrate rule.
Pipeline diagram, layers, and library module map.
Module map and embedded crate reference (sphinxcontrib-rust).
Source & license#
Repository: https://github.com/HaoZeke/canonic
License: MIT - see
LICENSESite theme: Shibuya (build with
./docs/build.sh)