Skip to content

Feature Details

Feature Status

This document is the single source of truth for the feature roadmap and implementation status of docs-ssot. Other architecture documents should reference this file rather than duplicating status information.

Include Resolver Features

FeatureStatusNotes
Single file includeImplemented<!-- @include: path/to/file.md -->
Recursive includeImplementedIncluded files may themselves contain include directives
Circular include detectionImplementedCircular references produce a build error
Missing file errorImplementedMissing included file stops the build with an error
Code fence passthroughImplementedInclude directives inside fenced code blocks are treated as literal text
Directory includeImplementedInclude all .md files in a directory (sorted by filename); trailing / in path triggers directory mode
Glob includeImplementedInclude files matching a glob pattern (e.g. *.md); glob metacharacters (*, ?, [) in path trigger glob mode
Recursive glob includeImplementedInclude files matching a recursive glob (e.g. **/*.md); ** matches zero or more path segments
Link path rewritingImplementedRelative links and image URLs in all files are rewritten to be correct relative to the output file location
Heading level adjustmentImplementedOptional level=±N parameter on include directives shifts heading depth of included content
Include from URLPlannedFetch and include a remote Markdown file

Generator Features

FeatureStatusNotes
Multiple output targetsImplementedOne docsgen.yaml can define many template → output pairs
Template-based generationImplementedTemplates in template/ define output structure
Deterministic outputImplementedSame input always produces identical output
Variable substitutionPlannedAllow placeholders expanded at build time
Conditional includesPlannedInclude or exclude sections based on build-time flags
Front matter supportPartialParse and strip YAML front matter implemented in frontmatter package; merge/pass-through not yet supported

CLI and Workflow Features

FeatureStatusNotes
build commandImplementedGenerates all output targets defined in docsgen.yaml
check commandImplementedScans docs for near-duplicate sections using TF-IDF cosine similarity; reports potential SSOT violations
include commandImplementedExpands includes in a file and prints the result to stdout; useful for debugging
validate commandImplementedDry-run over all templates; reports unresolvable includes without writing any output files
version commandImplementedPrints the build version
migrate commandImplementedDecomposes existing Markdown files into SSOT section structure with duplicate detection and round-trip verification
Watch modePlannedAutomatically rebuild on source file changes
Dry-run modePlannedPreview changes without writing output files
Diff / up-to-date checkPlannedExit non-zero if generated files differ from committed versions (useful for CI)
Custom config file pathPlannedAllow specifying a non-default config file via CLI flag

Agent Migration Features (migrate --from)

FeatureStatusNotes
AI tool detectionImplementedScans .claude/, .cursor/, .github/, .codex/, AGENTS.md to detect configured tools
--from / --to flagsImplementedSpecify source and target tools; --to defaults to all tools except source
Rules migrationImplementedRules converted with tool-specific frontmatter (.mdc for Cursor, applyTo for Copilot, @include for Codex)
Skills migrationImplementedSkills generated for all target tools with name + description; Claude preserves extra fields (model, effort, allowed-tools)
Subagent migrationImplemented.claude/agents/*.md scanned and migrated to .cursor/agents/, .github/agents/, .codex/agents/ (TOML format)
Command migrationImplementedClaude commands migrated (Claude-only by default); convertible to skills via --convert-commands
--convert-commandsImplementedConverts legacy .claude/commands/ to cross-tool skills during migration
--infer-globsImplementedInfers path-gated rules from slug names (e.g., go**/*.go, frontend-*frontend/**)
Frontmatter parsingImplementedFull YAML parsing via yaml.Unmarshal; handles multi-line values (lists, maps)
CRLF handlingImplementedNormalizes \r\n to \n before parsing
Config deduplicationImplementeddocsgen.yaml targets deduplicated on re-run (idempotent)
Round-trip verificationImplementedBuilds output and compares against source content after migration
Codex combined AGENTS.mdImplementedAll rules aggregated into single AGENTS.tpl.md via @include directives

Output Header Features

FeatureStatusNotes
Auto-generated file headerPlannedPrepend a <!-- ⚠️ AUTO-GENERATED FILE — DO NOT EDIT --> banner to all generated files

Output Format Features

FeatureStatusNotes
Markdown outputImplementedGenerated files are standard Markdown
HTML outputPlannedConvert generated Markdown to HTML
PDF outputPlannedConvert generated Markdown to PDF