Generate a consolidated project glossary of terms, acronyms, and definitions from existing artifacts
You are helping an enterprise architect create a Project Glossary document. This document extracts and consolidates all terminology, acronyms, abbreviations, and definitions from existing project artifacts into a single authoritative reference.
$ARGUMENTS
Note: Before generating, scan
projects/for existing project directories. For each project, list allARC-*.mdartifacts, checkexternal/for reference documents, and check000-global/for cross-project policies. If no external docs exist but they would improve output, ask the user.
RECOMMENDED (read if available, note if missing):
OPTIONAL (read if available, skip silently if missing):
external/ files) — extract domain-specific terminology, organizational jargon, policy termsprojects/000-global/external/ — extract enterprise-wide terminology, cross-project termsprojects/{project-dir}/external/ and re-run, or skip.".arckit/references/citation-instructions.md. Place inline citation markers (e.g., [PP-C1]) next to findings informed by source documents and populate the "External References" section in the template.Identify the target project from the hook context. If the user specifies a project that doesn't exist yet, create a new project:
projects/*/ directories and find the highest NNN-* number (or start at 001 if none exist)002)projects/{NNN}-{slug}/README.md with the project name, ID, and date — the Write tool will create all parent directories automaticallyprojects/{NNN}-{slug}/external/README.md with a note to place external reference documents herePROJECT_ID = the 3-digit number, PROJECT_PATH = the new directory pathLoad the glossary template structure:
Read the template (with user override support):
.arckit/templates/glossary-template.md exists in the project root.arckit/templates/glossary-template.md (default)Tip: Users can customize templates with
$arckit-customize glossary
Systematically scan all available artifacts and extract:
For each term, record:
Populate the template with extracted terms, organized alphabetically within categories. Each entry should:
Include a separate Acronyms table for quick reference.
Generate Document ID: ARC-{PROJECT_ID}-GLOS-v1.0 (for filename: ARC-{PROJECT_ID}-GLOS-v1.0.md)
Before writing the file, read .arckit/references/quality-checklist.md and verify all Common Checks pass. Fix any failures before proceeding.
IMPORTANT: The glossary document can be a large document depending on the number of artifacts scanned. You MUST use the Write tool to create the file, NOT output the full content in chat.
Create the file at:
projects/{project-dir}/ARC-{PROJECT_ID}-GLOS-v1.0.md
Use the Write tool with the complete glossary content following the template structure.
After writing the file, show a concise summary (NOT the full document):
## Project Glossary Created
**Document**: `projects/{project-dir}/ARC-{PROJECT_ID}-GLOS-v1.0.md`
**Document ID**: ARC-{PROJECT_ID}-GLOS-v1.0
### Glossary Overview
- **Total Terms Defined**: [N]
- **Acronyms Catalogued**: [N]
- **Standards Referenced**: [N]
- **Source Artifacts Scanned**: [N]
### Terms by Category
- **Business**: [N] terms
- **Technical**: [N] terms
- **Governance**: [N] terms
- **Financial**: [N] terms
- **Data**: [N] terms
- **Security**: [N] terms
### Source Artifacts
- [List each artifact scanned with Document ID]
### Coverage Gaps
- [Note any missing artifacts that would add terminology]
- [Note any terms with ambiguous or missing definitions]
- [Note any inconsistencies found across artifacts]
### Next Steps
1. Review glossary with domain experts for accuracy
2. Validate acronym expansions with stakeholders
3. Add missing definitions for flagged terms
4. Review data model terminology: `$arckit-data-model`
**File location**: `projects/{project-dir}/ARC-{PROJECT_ID}-GLOS-v1.0.md`
CRITICAL - Auto-Populate Document Information Fields:
Before completing the document, populate ALL document control fields in the header:
Construct Document ID:
ARC-{PROJECT_ID}-GLOS-v{VERSION} (e.g., ARC-001-GLOS-v1.0)Populate Required Fields:
Auto-populated fields (populate these automatically):
[PROJECT_ID] -> Extract from project path (e.g., "001" from "projects/001-project-name")[VERSION] -> "1.0" (or increment if previous version exists)[DATE] / [YYYY-MM-DD] -> Current date in YYYY-MM-DD format[DOCUMENT_TYPE_NAME] -> "Project Glossary"ARC-[PROJECT_ID]-GLOS-v[VERSION] -> Construct using format above[COMMAND] -> "arckit.glossary"User-provided fields (extract from project metadata or user input):
[PROJECT_NAME] -> Full project name from project metadata or user input[OWNER_NAME_AND_ROLE] -> Document owner (prompt user if not in metadata)[CLASSIFICATION] -> Default to "OFFICIAL" for UK Gov, "PUBLIC" otherwise (or prompt user)Calculated fields:
[YYYY-MM-DD] for Review Date -> Current date + 30 daysPending fields (leave as [PENDING] until manually updated):
[REVIEWER_NAME] -> [PENDING][APPROVER_NAME] -> [PENDING][DISTRIBUTION_LIST] -> Default to "Project Team, Architecture Team" or [PENDING]Populate Revision History:
| 1.0 | {DATE} | ArcKit AI | Initial creation from `$arckit-glossary` command | [PENDING] | [PENDING] |
Populate Generation Metadata Footer:
The footer should be populated with:
**Generated by**: ArcKit `$arckit-glossary` command
**Generated on**: {DATE} {TIME} GMT
**ArcKit Version**: {ARCKIT_VERSION}
**Project**: {PROJECT_NAME} (Project {PROJECT_ID})
**AI Model**: [Use actual model name, e.g., "claude-sonnet-4-5-20250929"]
**Generation Context**: [Brief note about source documents used]
CRITICAL - Token Efficiency:
Extraction, Not Invention: This command extracts and consolidates terminology from existing artifacts. It should NOT invent new terms or definitions not grounded in the project artifacts. If a definition must be inferred, note it as "Inferred from context".
Use Write Tool: The glossary document can be large depending on the number of artifacts. ALWAYS use the Write tool to create it. Never output the full content in chat.
Consistency Checking: If the same term is defined differently across artifacts, flag the inconsistency and use the most authoritative source (typically the artifact that introduced the term).
Alphabetical Organization: Terms within each category must be sorted alphabetically for easy lookup.
Cross-References: Where terms are related (e.g., "SRO" relates to "Senior Responsible Owner"), include cross-references to help readers navigate.
Living Document: The glossary should be updated when new artifacts are created. Note this in the document's maintenance section.
Integration with Other Commands:
$arckit-requirements, $arckit-data-model, $arckit-stakeholders, $arckit-principles, $arckit-sobc, $arckit-research, $arckit-adr, $arckit-strategy, $arckit-risk$arckit-data-model (validated entity/attribute names)Version Management: If a glossary already exists (ARC--GLOS-v.md), create a new version (v2.0) rather than overwriting. Glossaries should be versioned to track terminology evolution.
Scope: If the user specifies "all projects", scan artifacts across all project directories and create a consolidated glossary in projects/000-global/.
< or > (e.g., < 3 seconds, > 99.9% uptime) to prevent markdown renderers from interpreting them as HTML tags or emojiAfter completing this command, consider running:
$arckit-data-model -- Review data model for entity/attribute terminology