Introduction
This guide defines how RMC teams plan, build, review, and release software for the USACE Risk Management Center. It provides the standard operating procedures (SOPs) that keep work consistent, traceable, and reliable across teams and projects.
This guide serves as a day-to-day reference for branching, reviews, releases, and AI-assisted development. New readers should follow the Quick Start Path and then read through the Core Workflow section in order.
Who This Guide Is For
This SOP is designed for:
- Software developers working in USACE-RMC repositories
- Technical leads and reviewers responsible for approvals
- Project contributors creating or updating code and documentation
- Contractors or partners collaborating in RMC projects
Learning Objectives
By following this SOP, readers learn how to:
- Set up and follow the standard branching strategy
- Write consistent commit messages and PR descriptions
- Use GitHub Issues to track work and decisions
- Complete code reviews and merge safely to main
- Resolve conflicts and manage releases
- Use AI assistants responsibly and consistently
What This Guide Does NOT Cover
This guide focuses on development process. It does not cover:
- Application-specific design or architecture choices
- Team staffing or project management policy
- Security accreditation or external compliance processes
- Build and deployment automation details
Prerequisites
Readers should have:
- Basic Git and GitHub experience
- Access to the USACE-RMC GitHub organization
- A local development environment for the relevant project
Optional but helpful:
- Familiarity with Conventional Commits
- Experience with pull request workflows
How This Guide Is Organized
Core Workflow
- Overview
- Repository Structure & Permissions
- Branching Strategy
- Commit Message Standards
- Pull Request Workflow
- GitHub Issues
- Code Review Process
- Merging to Main
- Project-Specific Workflows
- Conflict Resolution
- Release Management
AI Assistant Guidance
Standards & References
Quick Start Path
New readers should follow this path:
- Start with Overview
- Read Branching Strategy and Commit Message Standards
- Learn the Pull Request Workflow and Code Review Process
- Keep Quick Reference and Common Scenarios handy
Key Concepts to Understand
Branches and Pull Requests
The workflow uses feature branches for all work and requires review before merging to main. This keeps main stable and provides an auditable history of changes.
Code Review
All changes receive review by at least one other person. Reviews focus on correctness, clarity, and alignment with team standards.
Releases
Releases are planned and documented. Follow the release management section for versioning and tagging practices.
AI Assistance
AI tools can speed up development, but they do not replace engineering judgment. Follow the AI guidance to ensure consistent, safe use.
Common Workflows
Start a New Feature
- Create a feature branch
- Open or link a GitHub Issue
- Commit work with Conventional Commit messages
- Open a pull request and request review
Resolve a Conflict
- Sync with main
- Merge main into the feature branch
- Resolve conflicts, test, and update the PR
Prepare a Release
- Confirm scope and approvals
- Follow tagging and release notes guidance
- Verify changes are merged to main
Required Tools
- Git and GitHub for source control and code review
- A project-specific IDE and tooling for local development
- GitHub Issues for tracking work and decisions
Getting Help
When uncertain about a process, ask a team lead or repository owner. For quick answers, consult the Quick Reference and Common Scenarios sections first.