This README outlines the recommended structure and content for your project.md
file, designed to clearly communicate your project's goals, architecture, and requirements to AI coding assistants.
The project.md
file serves as the primary source of information for AI assistants to understand:
- The project's overall purpose and objectives
- Technical architecture and design decisions
- Development standards and workflow requirements
- Current project status and roadmap
- Contextual information needed to make informed contributions
A well-crafted project.md
enables AI tools to provide more accurate, relevant, and aligned assistance with your project's specific needs.
- Project Name: Clear, descriptive title
- High-Level Description: 2-3 sentences explaining what the project does
- Business Context: Why this project exists, what problem it solves
- Key Stakeholders: Who uses this project and why
- Primary Goals: The main objectives you want to achieve
- Success Criteria: How you'll measure whether goals are met
- Non-Goals: What's explicitly out of scope (to avoid misguided efforts)
- Priority Order: Which aspects are most important when trade-offs are needed
- System Architecture: Overview of main components and their relationships
- Technology Stack: Key technologies, frameworks, and libraries
- Infrastructure: Deployment model, hosting, and infrastructure requirements
- Integration Points: External systems and APIs the project interacts with
- Data Flow: How data moves through the system
- Diagrams: Visual representations of architecture (links or simple ASCII diagrams)
- Code Style: Formatting standards, naming conventions
- Architectural Patterns: Design patterns to follow throughout the codebase
- Testing Requirements: Testing approaches, coverage expectations
- Performance Requirements: Performance goals and constraints
- Security Requirements: Security standards and practices
- Directory Organization: How the codebase is organized
- Key Components: Most important files/directories and their purposes
- Configuration Files: Important configuration settings
- Development Workflow: Steps for making changes
- Review Process: How code is reviewed and approved
- Documentation Requirements: When and how to update documentation
- Release Process: How code gets deployed
- Implementation Progress: What's been completed vs. what's still needed
- Known Issues: Current bugs or limitations
- Technical Debt: Areas that need improvement
- Roadmap: Upcoming planned features or changes
- Setup Instructions: How to set up the development environment
- Quick Start Guide: Basic commands to build, test, and run the project
- Link to progress.md: Reference to the project's current checkpoint
- Be Specific: Vague descriptions lead to misaligned output from AI tools
- Prioritize Information: Put the most critical information first
- Update Regularly: Keep the document current as the project evolves
- Use Consistent Terminology: Define terms and use them consistently
- Include Examples: Provide examples of good implementation patterns
- Link to Resources: Reference additional documentation when available
- Highlight Constraints: Be explicit about technical limitations and constraints
- Keep It Concise: Focus on what's necessary for making decisions
# Project Overview
## Goals
- Create a maintainable, scalable, and well-documented codebase
- Establish clear coding standards and architectural guidelines
- Automate quality checks and documentation processes
- Implement robust error handling and logging
## Project Architecture
The project follows a modular architecture with clear separation of concerns:
- **Frontend**: React-based SPA with TypeScript, following atomic design principles
- **Backend**: Node.js API with Express, using three-layer architecture (controllers/services/data access)
- **Database**: PostgreSQL with Prisma ORM for type-safe database access
- **Authentication**: JWT-based auth with role-based access control
## Development Standards
[Detailed standards specific to your project...]
By following this structure, your project.md
will provide AI assistants with the context needed to provide valuable and aligned contributions to your project.