Create comprehensive business and technical requirements
You are helping an enterprise architect define comprehensive requirements for a project that will be used for vendor RFPs and architecture reviews.
$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.
Identify the target 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 pathRead existing artifacts from the project context:
MANDATORY (warn if missing):
$arckit-stakeholders firstRECOMMENDED (read if available, note if missing):
$arckit-principles firstOPTIONAL (read if available, skip silently):
Read external documents and policies:
external/ files) — extract requirements, constraints, scope definitions, acceptance criteria, legacy system interfaces000-global/policies/) — extract mandatory compliance requirements, technology constraints, security standardsprojects/000-global/external/ — extract cross-project requirements patternsprojects/{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.Read the template (with user override support):
.arckit/templates/requirements-template.md exists in the project root.arckit/templates/requirements-template.md (default){ARCKIT_VERSION} from the session contextTip: Users can customize templates with
$arckit-customize requirements
Generate comprehensive requirements based on user input:
Business Requirements (BR-xxx):
Functional Requirements (FR-xxx):
Non-Functional Requirements (NFR-xxx):
Integration Requirements (INT-xxx):
Data Requirements (DR-xxx):
Ensure traceability: Each requirement MUST have:
Align with stakeholder goals and architecture principles:
projects/000-global/ARC-000-PRIN-*.md:
Identify and resolve conflicting requirements:
conflict analysis section for known competing driversWrite the output:
Before writing the file, read .arckit/references/quality-checklist.md and verify all Common Checks plus the REQ per-type checks pass. Fix any failures before proceeding.
projects/{project-dir}/ARC-{PROJECT_ID}-REQ-v${VERSION}.mdCRITICAL - Auto-Populate Document Control Fields:
Before completing the document, populate ALL document control fields in the header:
Before generating the document ID, check if a previous version exists:
ARC-{PROJECT_ID}-REQ-v*.md files in the project directoryARC-{PROJECT_ID}-REQ-v{VERSION} (e.g., ARC-001-REQ-v1.0)Auto-populated fields (populate these automatically):
[PROJECT_ID] → Extract from project path (e.g., "001" from "projects/001-project-name")[VERSION] → Determined version from Step 0[DATE] / [YYYY-MM-DD] → Current date in YYYY-MM-DD format[DOCUMENT_TYPE_NAME] → "Business and Technical Requirements"ARC-[PROJECT_ID]-REQ-v[VERSION] → Construct using format from Step 1[COMMAND] → "arckit.requirements"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 days (requirements, research, risks)[YYYY-MM-DD] for Review Date → Phase gate dates (Alpha/Beta/Live for compliance docs)Pending fields (leave as [PENDING] until manually updated):
[REVIEWER_NAME] → [PENDING][APPROVER_NAME] → [PENDING][DISTRIBUTION_LIST] → Default to "Project Team, Architecture Team" or [PENDING]| 1.0 | {DATE} | ArcKit AI | Initial creation from `$arckit-requirements` command | [PENDING] | [PENDING] |
The footer should be populated with:
**Generated by**: ArcKit `$arckit-requirements` 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]
## Document Control
| Field | Value |
|-------|-------|
| **Document ID** | ARC-001-REQ-v1.0 |
| **Document Type** | {Document purpose} |
| **Project** | Windows 10 to Windows 11 Migration (Project 001) |
| **Classification** | OFFICIAL-SENSITIVE |
| **Status** | DRAFT |
| **Version** | 1.0 |
| **Created Date** | 2025-10-29 |
| **Last Modified** | 2025-10-29 |
| **Review Date** | 2025-11-30 |
| **Owner** | John Smith (Business Analyst) |
| **Reviewed By** | [PENDING] |
| **Approved By** | [PENDING] |
| **Distribution** | PM Team, Architecture Team, Dev Team |
## Revision History
| Version | Date | Author | Changes | Approved By | Approval Date |
|---------|------|--------|---------|-------------|---------------|
| 1.0 | 2025-10-29 | ArcKit AI | Initial creation from `$arckit-requirements` command | [PENDING] | [PENDING] |
After writing the file with Write tool, show ONLY this summary:
## Requirements Complete ✅
**Project**: [Project Name]
**File Created**: `projects/[PROJECT]/ARC-{PROJECT_ID}-REQ-v1.0.md`
### Requirements Summary
**Total Requirements**: [Number]
- Business Requirements (BR-xxx): [Number]
- Functional Requirements (FR-xxx): [Number]
- Non-Functional Requirements (NFR-xxx): [Number]
- Performance (NFR-P-xxx): [Number]
- Security (NFR-SEC-xxx): [Number]
- Scalability (NFR-S-xxx): [Number]
- Availability (NFR-A-xxx): [Number]
- Compliance (NFR-C-xxx): [Number]
- Data Requirements (DR-xxx): [Number]
- Integration Requirements (INT-xxx): [Number]
**Requirement Conflicts**: [Number] conflicts identified and resolved
- [Brief summary of key conflicts and resolutions]
- [Which stakeholders won/lost in conflicts]
**Compliance Requirements**:
- [List key compliance frameworks: PCI-DSS, GDPR, HIPAA, etc.]
**Key Gaps/TBDs**:
- [List any major gaps that need follow-up]
### What's in the Document
- Business Requirements with measurable success criteria
- Functional Requirements organized by user journey
- Non-Functional Requirements with specific targets
- Data Requirements with GDPR considerations
- Integration Requirements with third-party systems
- Acceptance Criteria for each requirement
- Requirements Traceability Matrix
- Requirement Conflicts & Resolutions
### Next Steps
- Review `ARC-{PROJECT_ID}-REQ-v1.0.md` for full details
- [If DR-xxx exist]: Run `$arckit-data-model` to create comprehensive data model
- [If no DR-xxx]: Run `$arckit-research` to research technology options
User: $arckit-requirements Create requirements for a payment gateway modernization project
You should:
projects/001-payment-gateway-modernization/ARC-001-REQ-v1.0.md< 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 -- Create data model from data requirements (when DR-xxx data requirements were generated)$arckit-research -- Research technology options$arckit-risk -- Create risk register from requirements$arckit-dpia -- Assess data protection impact