Project
This document is the source of truth for project intent, scope, runtime facts,
and operational expectations.
For implementation structure, see ARCHITECTURE.md.
For engineering standards, see CONVENTIONS.md.
For delivery workflow, see workflow.md.
Project Identity
| Field |
Value |
| Project name |
{{PROJECT_NAME}} |
| Repository |
{{REPOSITORY_URL}} |
| Primary owner |
{{OWNER}} |
| Status |
{{STATUS}} |
| Target users |
{{TARGET_USERS}} |
Vision
{{PROJECT_VISION}}
Describe the long-term purpose of the project in one or two paragraphs.
The vision should explain why the project exists, not how it is implemented.
Goals
{{GOAL_1}}
{{GOAL_2}}
{{GOAL_3}}
Goals should be measurable enough to guide trade-offs.
Non-Goals
{{NON_GOAL_1}}
{{NON_GOAL_2}}
Non-goals prevent accidental scope expansion.
Functional Requirements
| ID |
Requirement |
Priority |
Status |
| FR-001 |
{{FUNCTIONAL_REQUIREMENT}} |
Must |
Proposed |
Non-Functional Requirements
| Category |
Requirement |
Measurement |
| Availability |
{{AVAILABILITY_REQUIREMENT}} |
{{AVAILABILITY_MEASURE}} |
| Performance |
{{PERFORMANCE_REQUIREMENT}} |
{{PERFORMANCE_MEASURE}} |
| Security |
{{SECURITY_REQUIREMENT}} |
{{SECURITY_MEASURE}} |
| Privacy |
{{PRIVACY_REQUIREMENT}} |
{{PRIVACY_MEASURE}} |
| Maintainability |
{{MAINTAINABILITY_REQUIREMENT}} |
{{MAINTAINABILITY_MEASURE}} |
Users And Roles
| Role |
Description |
Key Permissions |
{{ROLE_NAME}} |
{{ROLE_DESCRIPTION}} |
{{ROLE_PERMISSIONS}} |
Tech Stack
| Area |
Choice |
Notes |
| Language |
{{LANGUAGE}} |
{{LANGUAGE_NOTES}} |
| Framework |
{{FRAMEWORK}} |
{{FRAMEWORK_NOTES}} |
| Frontend |
{{FRONTEND}} |
{{FRONTEND_NOTES}} |
| Backend |
{{BACKEND}} |
{{BACKEND_NOTES}} |
| Database |
{{DATABASE}} |
{{DATABASE_NOTES}} |
| Messaging |
{{MESSAGING}} |
{{MESSAGING_NOTES}} |
| Search |
{{SEARCH}} |
{{SEARCH_NOTES}} |
| Cache |
{{CACHE}} |
{{CACHE_NOTES}} |
Runtime
| Environment |
Purpose |
URL or Entry Point |
Notes |
| Local |
Development |
{{LOCAL_URL}} |
{{LOCAL_NOTES}} |
| Test |
Automated validation |
{{TEST_URL}} |
{{TEST_NOTES}} |
| Staging |
Release verification |
{{STAGING_URL}} |
{{STAGING_NOTES}} |
| Production |
Live system |
{{PRODUCTION_URL}} |
{{PRODUCTION_NOTES}} |
Frameworks
Document framework-specific expectations here only when they affect how the
project is built, tested, deployed, or maintained.
{{FRAMEWORK_CONSTRAINT}}
{{FRAMEWORK_EXTENSION_POINT}}
Infrastructure
| Component |
Provider |
Responsibility |
Notes |
| Hosting |
{{HOSTING_PROVIDER}} |
{{HOSTING_RESPONSIBILITY}} |
{{HOSTING_NOTES}} |
| Storage |
{{STORAGE_PROVIDER}} |
{{STORAGE_RESPONSIBILITY}} |
{{STORAGE_NOTES}} |
| Network |
{{NETWORK_PROVIDER}} |
{{NETWORK_RESPONSIBILITY}} |
{{NETWORK_NOTES}} |
Database
| Field |
Value |
| Database engine |
{{DATABASE}} |
| Migration tool |
{{MIGRATION_TOOL}} |
| Backup strategy |
{{BACKUP_STRATEGY}} |
| Restore strategy |
{{RESTORE_STRATEGY}} |
| Data retention |
{{DATA_RETENTION}} |
CI/CD
| Pipeline |
Trigger |
Required Checks |
Notes |
{{PIPELINE_NAME}} |
{{PIPELINE_TRIGGER}} |
{{PIPELINE_CHECKS}} |
{{PIPELINE_NOTES}} |
Deployment
| Area |
Policy |
| Deployment strategy |
{{DEPLOYMENT}} |
| Rollback strategy |
{{ROLLBACK_STRATEGY}} |
| Release owner |
{{RELEASE_OWNER}} |
| Change window |
{{CHANGE_WINDOW}} |
See release-process.md for release execution.
Authentication
| Field |
Value |
| Authentication method |
{{AUTHENTICATION_METHOD}} |
| Identity provider |
{{IDENTITY_PROVIDER}} |
| Session model |
{{SESSION_MODEL}} |
| Token lifetime |
{{TOKEN_LIFETIME}} |
Authorization
| Field |
Value |
| Authorization model |
{{AUTHORIZATION_MODEL}} |
| Role source |
{{ROLE_SOURCE}} |
| Policy location |
{{POLICY_LOCATION}} |
| Audit requirements |
{{AUTHORIZATION_AUDIT_REQUIREMENTS}} |
Logging
| Field |
Value |
| Logging library |
{{LOGGING_LIBRARY}} |
| Log sink |
{{LOG_SINK}} |
| Correlation ID |
{{CORRELATION_ID_POLICY}} |
| Sensitive data policy |
{{LOG_SENSITIVE_DATA_POLICY}} |
Monitoring
| Signal |
Tool |
Alert Policy |
| Availability |
{{AVAILABILITY_TOOL}} |
{{AVAILABILITY_ALERT_POLICY}} |
| Errors |
{{ERROR_TOOL}} |
{{ERROR_ALERT_POLICY}} |
| Performance |
{{PERFORMANCE_TOOL}} |
{{PERFORMANCE_ALERT_POLICY}} |
| Business metrics |
{{BUSINESS_METRICS_TOOL}} |
{{BUSINESS_ALERT_POLICY}} |
Testing
| Test Type |
Tooling |
Required When |
| Unit |
{{UNIT_TEST_TOOL}} |
{{UNIT_TEST_POLICY}} |
| Integration |
{{INTEGRATION_TEST_TOOL}} |
{{INTEGRATION_TEST_POLICY}} |
| End-to-end |
{{E2E_TEST_TOOL}} |
{{E2E_TEST_POLICY}} |
| Performance |
{{PERFORMANCE_TEST_TOOL}} |
{{PERFORMANCE_TEST_POLICY}} |
| Security |
{{SECURITY_TEST_TOOL}} |
{{SECURITY_TEST_POLICY}} |
Roadmap
| Milestone |
Target |
Outcome |
{{MILESTONE}} |
{{TARGET_DATE}} |
{{OUTCOME}} |
Open Questions
| Question |
Owner |
Needed By |
Status |
{{OPEN_QUESTION}} |
{{QUESTION_OWNER}} |
{{NEEDED_BY}} |
Open |