Skip to content

Specification schema

Project Specification Schema

This template is designed to scale with your project's needs.

  • For simple or initial-phase projects, completing Part 1 (The Essentials) is sufficient.
  • For complex, enterprise-grade, or high-fidelity projects, completing Part 2 (Advanced Specifications) is highly recommended to ensure clarity, reduce risk, and guide a more robust architectural design.

Part 1: The Essentials (Core Requirements for Any Project)

This section captures the minimum information required for an AI to understand and build a functional application.

1.0 Project Overview (Required)

  • 1.1 Project Name: [e.g., "SimpleTodo App"]
  • 1.2 Project Goal: A one or two-sentence summary of what the project is meant to achieve.
  • 1.3 Target Audience: Who is this for? [e.g., "General users who need a simple task manager."]

2.0 Core Functionality & User Journeys (Required)

Describe the primary features and how users will interact with them. Use RFC keywords (MUST, SHOULD, MAY).

  • 2.1 Core Features List: A high-level, bulleted list of the main capabilities.
    • Example: User Authentication, Task Management, Profile Settings.
  • 2.2 User Journeys: Step-by-step descriptions of user interactions.
    • Format: User [action] → app [keyword] [reaction] → [outcome]
    • Example: User clicks delete → app MUST show "are you sure?" popup → YES deletes, NO cancels.
    • Example: User submits form → app MUST check all fields for validation → show errors OR save and show success.

3.0 Data Models (Required)

Define the structure of the data the application will manage.

  • Format: Entity: field (keyword, [constraints]), ...
  • Example (User): email (REQUIRED, valid email), password (REQUIRED, 8+ chars, hashed), name (REQUIRED)
  • Example (Task): title (REQUIRED, 100 chars max), is_complete (REQUIRED, boolean, default=false), due_date (OPTIONAL)

4.0 Essential Error Handling (Required)

Describe how the application must behave during common failure scenarios.

  • No Internet: The app MUST show an "Offline" message.
  • Invalid User Input: The app MUST highlight the incorrect field in red with a helpful message.
  • Server Error: The app SHOULD show a generic "Something went wrong" message with an option to retry.

---

Part 2: Advanced Specifications (For Complex or High-Fidelity Projects)

This section adds the formality, detail, and foresight needed for larger, more critical applications.

  • 5.1 Document Control:
    • Version: [e.g., 1.0] | Status: [e.g., Approved] | Date: [e.g., October 27, 2025]
  • 5.2 Detailed Scope:
    • In Scope: An explicit bulleted list of functionalities that WILL be delivered.
    • Out of Scope: An explicit bulleted list of functionalities that WILL NOT be delivered to prevent scope creep.
  • 5.3 Glossary of Terms & Acronyms: A table defining all domain-specific terminology (e.g., ESG, CBAM, GHG).

This formalizes the User Journeys from Part 1 into a trackable format.

ID Requirement Name / User Story Description Priority
FR-001 User Login The system MUST allow a registered user to log in with an email and password. Critical
FR-002 AI Document Verification The system MUST use an LLM to extract data from uploaded invoices. High

7.0 Measurable Non-Functional Requirements (NFRs) (Critical for Architecture)

Define the quality attributes and constraints. Each NFR should be specific and measurable.

ID Category Requirement Metric / Acceptance Criteria
NFR-PERF-001 Performance API Response Time 95% of read-only API calls MUST complete in < 250ms.
NFR-ACC-001 Accuracy AI Data Extraction Key fields from structured invoices MUST be extracted with >90% accuracy.
NFR-REL-001 Reliability System Uptime The service MUST maintain 99.5% uptime.
NFR-SEC-001 Security Data Privacy MUST comply with GDPR and KSA PDPL data handling standards.
NFR-SCALE-001 Scalability Concurrent Users MUST support 1,000 concurrent users without performance degradation.
NFR-EXT-001 Extensibility Future Regulations The architecture MUST allow adding a new reporting framework via configuration, not a code rewrite.

8.0 Technical & Architectural Constraints (Optional)

Provide specific technical directives if you have them. If not, the AI will propose a suitable architecture.

  • 8.1 Technology Stack: [e.g., Frontend: React, Backend: Node.js, Database: PostgreSQL]
  • 8.2 Architectural Principles: [e.g., "The system MUST be a microservices architecture."]
  • 8.3 Deployment Environment: [e.g., "The application MUST be containerized using Docker and deployed to AWS."]
  • 9.1 Assumptions: List statements considered true without proof.
    • Example: "Third-party emission factor databases will be accessible via a stable API."
  • 9.2 Dependencies: List external factors the project relies on.
    • Example: "Project delivery depends on the finalization of EU CBAM implementation rules."