Files
siriusscan--sirius/documentation/dev/operations/README.new-project.md
T
wehub-resource-sync 161ef94b4f
Check engine pin consistency / Dockerfile / CI pin consistency (push) Successful in 8s
Sirius CI/CD Pipeline / Detect Changes (push) Successful in 23s
Validate Docker Configuration / Validate Docker Compose Configuration (push) Successful in 47s
Sirius CI/CD Pipeline / Build API (${{ matrix.platform }}) (push) Has been cancelled
Sirius CI/CD Pipeline / Build UI (${{ matrix.platform }}) (push) Has been cancelled
Sirius CI/CD Pipeline / Merge Engine Manifest (push) Has been cancelled
Sirius CI/CD Pipeline / Merge API Manifest (push) Has been cancelled
Sirius CI/CD Pipeline / Merge UI Manifest (push) Has been cancelled
Sirius CI/CD Pipeline / Build Engine (${{ matrix.platform }}) (push) Has been cancelled
Sirius CI/CD Pipeline / Build Infra (${{ matrix.service }}, ${{ matrix.platform }}) (push) Has been cancelled
Sirius CI/CD Pipeline / Merge Infra Manifest (sirius-postgres) (push) Has been cancelled
Sirius CI/CD Pipeline / Merge Infra Manifest (sirius-rabbitmq) (push) Has been cancelled
Sirius CI/CD Pipeline / Merge Infra Manifest (sirius-valkey) (push) Has been cancelled
Sirius CI/CD Pipeline / Integration Test (push) Has been cancelled
Sirius CI/CD Pipeline / Public Stack Contract (push) Has been cancelled
Sirius CI/CD Pipeline / Dispatch Demo Deployment (sirius-demo branch) (push) Has been cancelled
Sirius CI/CD Pipeline / Dispatch Demo Canary (main branch) (push) Has been cancelled
Sirius CI/CD Pipeline / Guard Registry Namespace (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:32:25 +08:00

396 lines
11 KiB
Markdown

---
title: "New Project Development Workflow"
description: "Structured approach for starting new development sprints with consistent project organization, task management, and Git workflows."
template: "TEMPLATE.documentation-standard"
version: "1.0.0"
last_updated: "2025-01-03"
author: "Development Team"
tags: ["project-management", "workflow", "git", "tasks", "development"]
categories: ["operations", "development"]
difficulty: "beginner"
prerequisites: ["git", "cursor", "project-structure"]
related_docs:
- "README.tasks.md"
- "README.git-operations.md"
dependencies: []
llm_context: "high"
search_keywords:
[
"new project",
"development sprint",
"task management",
"git workflow",
"project structure",
]
---
# New Project Development Workflow
> **📚 Task Management**: For detailed task system usage, see [README.tasks.md](README.tasks.md)
## Purpose
This document defines the standardized workflow for starting new development sprints, ensuring consistent project organization, task tracking, and Git practices across all development efforts.
## When to Use This Workflow
- **Starting any new development sprint** - Follow this process for every new project
- **Major feature development** - Use for significant new features or enhancements
- **Bug fix campaigns** - Apply for systematic bug fixing efforts
- **Infrastructure changes** - Use for deployment, CI/CD, or architectural work
- **Research and prototyping** - Apply for exploratory development work
## Project Structure Requirements
### Required Files for Every Project
Every new development sprint must create these files in the specified locations:
#### 1. Task Definition File
- **Location**: `tasks/{sprint-name}.json`
- **Purpose**: Detailed task breakdown and tracking
- **Format**: JSON array following established schema
- **Example**: `tasks/cicd.json` (see template below)
#### 2. Project Plan Document
- **Location**: `documentation/dev-notes/{sprint-name}-plan.md`
- **Purpose**: High-level project overview and context
- **Format**: Markdown with YAML front matter
- **Content**: Project goals, scope, timeline, and key decisions
#### 3. Cleanup Task
- **Requirement**: Every project must include a final cleanup task
- **Purpose**: Remove temporary files, update documentation, merge branches
- **ID Pattern**: `{last-id + 1}` (e.g., if last task is 5, cleanup is 6)
## Task File Template
Use this template structure for all `tasks/{sprint-name}.json` files:
```json
[
{
"id": "0",
"title": "PHASE 0: Project Foundation",
"description": "Brief description of the phase",
"details": "Detailed implementation notes and expected outputs",
"status": "pending",
"priority": "high",
"dependencies": [],
"subtasks": [
{
"id": "0.1",
"title": "Specific Task Title",
"description": "What this task accomplishes",
"details": "Implementation details, acceptance criteria, and context",
"status": "pending",
"priority": "high",
"dependencies": [],
"testStrategy": "How to verify this task is complete"
}
]
},
{
"id": "1",
"title": "PHASE 1: Core Implementation",
"description": "Main development work",
"details": "Key deliverables and technical approach",
"status": "pending",
"priority": "high",
"dependencies": ["0"],
"subtasks": [
{
"id": "1.1",
"title": "Implementation Task",
"description": "Specific implementation work",
"details": "Technical details and requirements",
"status": "pending",
"priority": "high",
"dependencies": ["0.1"],
"testStrategy": "Verification approach"
}
]
},
{
"id": "2",
"title": "PHASE 2: Cleanup & Documentation",
"description": "Project completion and cleanup",
"details": "Final tasks to close out the project",
"status": "pending",
"priority": "medium",
"dependencies": ["1"],
"subtasks": [
{
"id": "2.1",
"title": "Clean Up Project Files",
"description": "Remove temporary files and update documentation",
"details": "Delete temporary files, update README if needed, ensure all documentation is current",
"status": "pending",
"priority": "medium",
"dependencies": ["1.1"],
"testStrategy": "Verify no temporary files remain and documentation is up to date"
}
]
}
]
```
### Task Schema Requirements
- **id**: Unique identifier (string, e.g., "0", "1.1", "2.3")
- **title**: Clear, descriptive task name
- **description**: Brief summary of what the task accomplishes
- **details**: Comprehensive implementation notes and context
- **status**: "pending", "in_progress", "done", "blocked"
- **priority**: "high", "medium", "low"
- **dependencies**: Array of task IDs this task depends on
- **subtasks**: Array of subtask objects (for main tasks)
- **testStrategy**: How to verify task completion (for subtasks)
## Git Workflow for New Projects
### Standard Branching Strategy
For every new development sprint:
#### 1. Create Feature Branch
```bash
# Start from main branch
git checkout main
git pull origin main
# Create new branch for the sprint
git checkout -b feature/{sprint-name}
# Example: git checkout -b feature/agent-enhancements
```
#### 2. Branch Naming Convention
- **Format**: `feature/{sprint-name}`
- **Examples**:
- `feature/agent-enhancements`
- `feature/ci-cd-pipeline`
- `feature/ui-redesign`
- `feature/database-optimization`
#### 3. Work on Branch
- Make all commits on the feature branch
- Use descriptive commit messages
- Commit frequently with atomic changes
- Push branch regularly to backup work
#### 4. Merge Back to Main
```bash
# When sprint is complete
git checkout main
git pull origin main
git merge feature/{sprint-name}
git push origin main
# Clean up feature branch
git branch -d feature/{sprint-name}
git push origin --delete feature/{sprint-name}
```
### Exception Cases
**When NOT to create a feature branch:**
- Hotfixes requiring immediate deployment
- Documentation-only changes
- Minor configuration updates
- Emergency security patches
**Alternative approaches:**
- **Hotfixes**: Use `hotfix/{issue-description}` branch
- **Documentation**: Can be committed directly to main
- **Config changes**: Use `config/{change-description}` branch
## Project Plan Document Template
Create `documentation/dev-notes/{sprint-name}-plan.md` with this structure:
```markdown
---
title: "{Sprint Name} - Project Plan"
description: "High-level project overview and implementation strategy"
template: "TEMPLATE.documentation-standard"
version: "1.0.0"
last_updated: "2025-01-03"
author: "Development Team"
tags: ["project-plan", "sprint", "{sprint-name}"]
categories: ["development", "planning"]
difficulty: "intermediate"
prerequisites: []
related_docs:
- "README.tasks.md"
dependencies: []
llm_context: "medium"
search_keywords: ["{sprint-name}", "project-plan", "development"]
---
# {Sprint Name} - Project Plan
## Project Overview
**Goal**: [Primary objective of this sprint]
**Timeline**: [Expected duration]
**Scope**: [What's included and excluded]
## Key Deliverables
1. [Primary deliverable 1]
2. [Primary deliverable 2]
3. [Primary deliverable 3]
## Technical Approach
[High-level technical strategy and key decisions]
## Success Criteria
- [ ] [Measurable success criterion 1]
- [ ] [Measurable success criterion 2]
- [ ] [Measurable success criterion 3]
## Risk Assessment
**High Risk Items:**
- [Risk 1]: [Mitigation strategy]
- [Risk 2]: [Mitigation strategy]
**Dependencies:**
- [External dependency 1]
- [External dependency 2]
## Notes
[Any additional context, decisions, or considerations]
```
## Development Workflow Steps
### 1. Project Initialization
```bash
# 1. Create feature branch
git checkout main
git pull origin main
git checkout -b feature/{sprint-name}
# 2. Create task file
touch tasks/{sprint-name}.json
# [Fill in task structure using template]
# 3. Create project plan
touch documentation/dev-notes/{sprint-name}-plan.md
# [Fill in project plan using template]
# 4. Initial commit
git add tasks/{sprint-name}.json documentation/dev-notes/{sprint-name}-plan.md
git commit -m "feat: initialize {sprint-name} project
- Add task breakdown in tasks/{sprint-name}.json
- Add project plan in documentation/dev-notes/{sprint-name}-plan.md
- Create feature branch for development"
git push origin feature/{sprint-name}
```
### 2. Development Process
- **Start each work session** by reviewing current tasks
- **Update task status** as work progresses
- **Commit frequently** with descriptive messages
- **Reference task IDs** in commit messages when relevant
- **Ask for help** when blocked or uncertain
### 3. Project Completion
```bash
# 1. Complete all tasks (including cleanup)
# 2. Update project plan with final status
# 3. Merge to main
git checkout main
git pull origin main
git merge feature/{sprint-name}
git push origin main
# 4. Clean up
git branch -d feature/{sprint-name}
git push origin --delete feature/{sprint-name}
```
## Best Practices
### Task Management
- **Keep tasks small** - Each subtask should be completable in 1-4 hours
- **Be specific** - Clear acceptance criteria and test strategies
- **Update status** - Mark tasks as done immediately when completed
- **Use dependencies** - Properly sequence related tasks
### Git Practices
- **Atomic commits** - Each commit should represent one logical change
- **Descriptive messages** - Use conventional commit format
- **Regular pushes** - Backup work frequently
- **Clean history** - Squash commits if needed before merging
### Documentation
- **Keep plans current** - Update project plans as scope changes
- **Document decisions** - Record important technical decisions
- **Include context** - Help future developers understand choices
## Troubleshooting
### Common Issues
**Task file not found:**
- Verify file is in `tasks/` directory
- Check filename matches sprint name
- Ensure JSON syntax is valid
**Branch conflicts:**
- Pull latest main before creating feature branch
- Rebase feature branch if main has moved significantly
- Resolve conflicts before merging
**Missing project plan:**
- Create plan document in `documentation/dev-notes/`
- Use template structure provided
- Include all required sections
### Getting Help
- **Task questions**: Reference [README.tasks.md](README.tasks.md)
- **Git issues**: Reference [README.git-operations.md](README.git-operations.md)
- **General help**: Ask for clarification on requirements or approach
## Integration with Cursor Rules
This workflow integrates with our Cursor rules system:
- **Task context**: Cursor will include task files in context when working on projects
- **Git operations**: Cursor will follow branching and commit conventions
- **Documentation**: Cursor will maintain project plan and task documentation
- **Code quality**: Cursor will follow established coding standards
---
_This workflow ensures consistent, organized development practices across all projects. For questions about specific aspects, see the related documentation files._