Skip to content

Commit bc1cb2d

Browse files
webwornclaude
andcommitted
feat: Complete GitHub workflows and project management setup
GitHub Workflows (.github/workflows/ci.yml): - Comprehensive CI/CD pipeline with CFD-specific validation - Multi-matrix builds (OpenFOAM 10/11/12, GCC/Clang, Debug/Release) - Physics validation gates with analytical solution verification - Performance benchmarking and memory profiling - Security scanning with CodeQL and Trivy - Docker containerization testing - Integration tests for MCP protocol compliance - Automated documentation generation and deployment Code Ownership (.github/CODEOWNERS): - Detailed ownership mapping for all project components - Physics domain experts for CFD-specific components - Security team requirements for critical infrastructure - Clear review requirements for different file types - Emergency override procedures for hotfixes Pull Request Template (.github/pull_request_template.md): - CFD-specific PR template with physics validation requirements - Comprehensive testing checklists for different change types - Physics domain selection and validation criteria - Performance impact assessment guidelines - Security and breaking change considerations - Educational content and documentation requirements Branch Strategy (BRANCH_STRATEGY.md): - Complete branching model for CFD development workflows - Physics-driven development processes with validation gates - Emergency hotfix procedures for critical CFD issues - Release management with comprehensive testing phases - Quality gates and automated checks configuration - CFD-specific naming conventions and commit standards CFD Implementation Guide (CFD_PROJECT_GUIDE.md): - Detailed implementation workflows for physics tools - Step-by-step new tool creation with examples - Physics validation framework with analytical/experimental testing - Performance optimization and profiling procedures - Deployment strategies with containerization and Kubernetes - Troubleshooting guides for common CFD issues - Quality metrics and monitoring for physics accuracy 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent a7618e2 commit bc1cb2d

File tree

5 files changed

+2615
-0
lines changed

5 files changed

+2615
-0
lines changed

.github/CODEOWNERS

Lines changed: 289 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,289 @@
1+
# OpenFOAM MCP Server - Code Ownership & Review Requirements
2+
#
3+
# This file defines who must review changes to specific parts of the codebase.
4+
# GitHub will automatically request reviews from these users/teams.
5+
#
6+
# Documentation: https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
7+
8+
# ============================================================================
9+
# GLOBAL OWNERSHIP - Default reviewers for all changes
10+
# ============================================================================
11+
12+
# All files require review from core maintainers
13+
* @webworn @core-maintainers
14+
15+
# ============================================================================
16+
# CORE SYSTEM COMPONENTS - Critical Infrastructure
17+
# ============================================================================
18+
19+
# MCP Protocol Implementation - Requires protocol experts
20+
/src/mcp/ @webworn @mcp-experts @protocol-team
21+
*.hpp @webworn @cpp-experts
22+
*.cpp @webworn @cpp-experts
23+
24+
# Main application entry point - Core team only
25+
/src/main.cpp @webworn @core-maintainers
26+
27+
# Build system and configuration - DevOps team
28+
CMakeLists.txt @webworn @devops-team @build-experts
29+
/cmake/ @devops-team @build-experts
30+
Dockerfile @devops-team @container-experts
31+
docker-compose.yml @devops-team @container-experts
32+
33+
# ============================================================================
34+
# PHYSICS & CFD COMPONENTS - Domain Experts Required
35+
# ============================================================================
36+
37+
# OpenFOAM Integration - CFD experts required
38+
/src/openfoam/ @webworn @cfd-experts @openfoam-team
39+
40+
# Pipe Flow Analysis - Fluid dynamics experts
41+
/src/openfoam/pipe_flow.* @cfd-experts @fluid-dynamics-team
42+
/src/tools/pipe_flow_tool.* @cfd-experts @fluid-dynamics-team
43+
44+
# Heat Transfer Analysis - Thermal engineers
45+
/src/openfoam/heat_transfer.* @cfd-experts @thermal-engineering-team
46+
/src/tools/heat_transfer_tool.* @cfd-experts @thermal-engineering-team
47+
48+
# External Flow Analysis - Aerodynamics experts
49+
/src/openfoam/external_flow.* @cfd-experts @aerodynamics-team
50+
/src/tools/external_flow_tool.* @cfd-experts @aerodynamics-team
51+
52+
# Case Management - OpenFOAM specialists
53+
/src/openfoam/case_manager.* @openfoam-team @cfd-experts
54+
55+
# ============================================================================
56+
# TOOL IMPLEMENTATIONS - Application Experts
57+
# ============================================================================
58+
59+
# MCP Tool Framework - MCP + CFD integration specialists
60+
/src/tools/ @webworn @mcp-experts @cfd-experts
61+
62+
# Tool Registration and Server Integration
63+
/src/tools/*_tool.hpp @mcp-experts @api-design-team
64+
/src/tools/*_tool.cpp @mcp-experts @cfd-experts
65+
66+
# ============================================================================
67+
# TESTING & VALIDATION - Quality Assurance
68+
# ============================================================================
69+
70+
# Unit Tests - Corresponding domain experts
71+
/tests/unit/ @webworn @testing-team
72+
/tests/unit/pipe_flow_* @fluid-dynamics-team @testing-team
73+
/tests/unit/heat_transfer_* @thermal-engineering-team @testing-team
74+
/tests/unit/external_flow_* @aerodynamics-team @testing-team
75+
76+
# Integration Tests - Full system knowledge required
77+
/tests/integration/ @webworn @testing-team @system-architects
78+
79+
# CFD Validation - Physics accuracy critical
80+
/tests/validation/ @cfd-experts @validation-team @physics-reviewers
81+
/tests/validation/analytical_solutions/ @physics-reviewers @cfd-experts
82+
/tests/validation/experimental_data/ @validation-team @data-scientists
83+
84+
# Performance Benchmarks - Performance engineering
85+
/tests/benchmarks/ @performance-team @devops-team
86+
/tests/benchmarks/memory_* @performance-team @cpp-experts
87+
/tests/benchmarks/computational_* @performance-team @hpc-experts
88+
89+
# ============================================================================
90+
# CI/CD & AUTOMATION - DevOps and Infrastructure
91+
# ============================================================================
92+
93+
# GitHub Workflows - DevOps and security review
94+
/.github/workflows/ @webworn @devops-team @security-team
95+
/.github/workflows/ci.yml @devops-team @security-team @testing-team
96+
/.github/workflows/security.yml @security-team @devops-team
97+
/.github/workflows/release.yml @devops-team @release-managers
98+
99+
# GitHub Configuration
100+
/.github/CODEOWNERS @webworn @governance-team
101+
/.github/pull_request_template.md @governance-team @community-managers
102+
/.github/ISSUE_TEMPLATE/ @community-managers @support-team
103+
104+
# Dependency Management - Security and stability critical
105+
package.json @security-team @dependency-managers
106+
package-lock.json @security-team @dependency-managers
107+
requirements.txt @security-team @python-experts
108+
pyproject.toml @python-experts @dependency-managers
109+
110+
# ============================================================================
111+
# DOCUMENTATION - Technical Writers and Domain Experts
112+
# ============================================================================
113+
114+
# Main Documentation - Technical writing + domain knowledge
115+
README.md @webworn @technical-writers @community-managers
116+
CONTRIBUTING.md @governance-team @community-managers
117+
CODE_OF_CONDUCT.md @governance-team @community-managers
118+
LICENSE @legal-team @governance-team
119+
120+
# API Documentation - API design and documentation
121+
/docs/api/ @api-design-team @technical-writers
122+
/docs/api/mcp-protocol.md @mcp-experts @technical-writers
123+
124+
# Physics Documentation - Domain experts required
125+
/docs/physics/ @cfd-experts @technical-writers @physics-reviewers
126+
/docs/physics/fluid-dynamics.md @fluid-dynamics-team @technical-writers
127+
/docs/physics/heat-transfer.md @thermal-engineering-team @technical-writers
128+
/docs/physics/aerodynamics.md @aerodynamics-team @technical-writers
129+
130+
# User Guides - UX and domain knowledge
131+
/docs/user-guide/ @technical-writers @ux-team @cfd-experts
132+
/docs/tutorials/ @technical-writers @education-team @cfd-experts
133+
134+
# Developer Documentation - System architecture knowledge
135+
/docs/development/ @system-architects @technical-writers
136+
/docs/development/architecture.md @system-architects @senior-developers
137+
/docs/development/adding-tools.md @mcp-experts @cfd-experts @technical-writers
138+
139+
# ============================================================================
140+
# CONFIGURATION & SETTINGS - Security and System Administration
141+
# ============================================================================
142+
143+
# Environment Configuration - Security review required
144+
.env* @security-team @devops-team
145+
.dockerignore @devops-team @container-experts
146+
.gitignore @devops-team
147+
148+
# IDE Configuration - Development environment
149+
.vscode/ @developer-experience-team
150+
.idea/ @developer-experience-team
151+
.devcontainer/ @devops-team @developer-experience-team
152+
153+
# Linting and Code Quality
154+
.clang-format @cpp-experts @code-quality-team
155+
.clang-tidy @cpp-experts @code-quality-team
156+
.cppcheck @cpp-experts @security-team
157+
pyproject.toml @python-experts @code-quality-team
158+
159+
# ============================================================================
160+
# SCRIPTS & AUTOMATION - DevOps and Security
161+
# ============================================================================
162+
163+
# Build and Development Scripts
164+
/scripts/ @devops-team @automation-team
165+
/scripts/build.sh @devops-team @build-experts
166+
/scripts/test.sh @testing-team @devops-team
167+
/scripts/deploy.sh @devops-team @deployment-team @security-team
168+
169+
# Installation and Setup Scripts - Security critical
170+
/scripts/install.sh @security-team @devops-team
171+
/scripts/setup-environment.sh @security-team @devops-team
172+
173+
# ============================================================================
174+
# SECURITY & COMPLIANCE - Security Team Mandatory
175+
# ============================================================================
176+
177+
# Security Policies and Configurations
178+
SECURITY.md @security-team @governance-team
179+
.github/workflows/security.yml @security-team @devops-team
180+
181+
# Dependency Vulnerability Scanning
182+
/security/ @security-team
183+
.snyk @security-team
184+
.trivy @security-team
185+
186+
# ============================================================================
187+
# RELEASE & DEPLOYMENT - Release Management
188+
# ============================================================================
189+
190+
# Version and Release Configuration
191+
VERSION @release-managers @core-maintainers
192+
CHANGELOG.md @release-managers @technical-writers
193+
RELEASE_NOTES.md @release-managers @technical-writers @product-managers
194+
195+
# Deployment Configuration
196+
/deploy/ @deployment-team @devops-team @security-team
197+
/k8s/ @kubernetes-team @devops-team
198+
/helm/ @kubernetes-team @helm-experts
199+
200+
# ============================================================================
201+
# SAMPLE DATA & EXAMPLES - Domain and Educational Review
202+
# ============================================================================
203+
204+
# Sample Cases and Examples - Educational value and accuracy
205+
/examples/ @education-team @cfd-experts @technical-writers
206+
/examples/automotive/ @automotive-experts @aerodynamics-team
207+
/examples/aerospace/ @aerospace-experts @aerodynamics-team
208+
/examples/energy/ @energy-experts @thermal-engineering-team
209+
/examples/biomedical/ @biomedical-experts @fluid-dynamics-team
210+
211+
# Sample Data and Test Cases
212+
/data/ @data-scientists @validation-team
213+
/data/validation/ @validation-team @physics-reviewers
214+
/data/benchmarks/ @performance-team @validation-team
215+
216+
# ============================================================================
217+
# SPECIAL FILES - Governance and Legal
218+
# ============================================================================
219+
220+
# Legal and Governance Documents
221+
LICENSE* @legal-team @governance-team
222+
COPYRIGHT @legal-team @governance-team
223+
PATENT @legal-team @ip-team
224+
225+
# Project Governance
226+
GOVERNANCE.md @governance-team @core-maintainers
227+
MAINTAINERS.md @governance-team @core-maintainers
228+
229+
# ============================================================================
230+
# EMERGENCY OVERRIDES - Core Maintainers Only
231+
# ============================================================================
232+
233+
# Critical system files that may need emergency fixes
234+
# Note: These can bypass normal review requirements in emergencies
235+
# Use with extreme caution and follow up with proper review
236+
237+
# Emergency hotfix patterns (use sparingly)
238+
hotfix/* @webworn @emergency-response-team
239+
security-fix/* @security-team @webworn
240+
241+
# ============================================================================
242+
# TEAM DEFINITIONS (for reference - configure in GitHub settings)
243+
# ============================================================================
244+
245+
# Core Teams:
246+
# @core-maintainers: Primary project maintainers
247+
# @webworn: Project owner/lead
248+
#
249+
# Domain Expert Teams:
250+
# @cfd-experts: Computational Fluid Dynamics specialists
251+
# @openfoam-team: OpenFOAM specialists
252+
# @mcp-experts: Model Context Protocol specialists
253+
# @fluid-dynamics-team: Fluid mechanics experts
254+
# @thermal-engineering-team: Heat transfer specialists
255+
# @aerodynamics-team: Aerodynamics and external flow experts
256+
# @automotive-experts: Automotive industry specialists
257+
# @aerospace-experts: Aerospace industry specialists
258+
# @energy-experts: Energy systems specialists
259+
# @biomedical-experts: Biomedical engineering specialists
260+
#
261+
# Technical Teams:
262+
# @cpp-experts: C++ programming specialists
263+
# @python-experts: Python programming specialists
264+
# @api-design-team: API design specialists
265+
# @system-architects: System architecture experts
266+
# @performance-team: Performance optimization experts
267+
# @security-team: Security specialists
268+
# @testing-team: Quality assurance and testing
269+
# @validation-team: Physics validation specialists
270+
# @physics-reviewers: Physics accuracy reviewers
271+
#
272+
# Infrastructure Teams:
273+
# @devops-team: DevOps and CI/CD specialists
274+
# @container-experts: Docker/containerization experts
275+
# @kubernetes-team: Kubernetes deployment experts
276+
# @helm-experts: Helm chart specialists
277+
# @build-experts: Build system specialists
278+
# @deployment-team: Production deployment team
279+
#
280+
# Support Teams:
281+
# @technical-writers: Documentation specialists
282+
# @community-managers: Community engagement
283+
# @education-team: Educational content creators
284+
# @ux-team: User experience designers
285+
# @developer-experience-team: Developer tooling
286+
# @governance-team: Project governance
287+
# @legal-team: Legal and compliance
288+
# @release-managers: Release management
289+
# @data-scientists: Data analysis and validation

0 commit comments

Comments
 (0)