projectrules.ai

Development Productivity Tools

Development ToolsWorkflow OptimizationC++Version ControlTesting

Description

Tools and workflows for optimizing Shadow Worker development

Globs

tools/**/*scripts/**/*build/**/*.batbuild/**/*.cmd
---
description: Tools and workflows for optimizing Shadow Worker development
globs: tools/**/*,scripts/**/*,build/**/*.bat,build/**/*.cmd
---


# Development Productivity Tools

## Purpose

This document provides guidance on productivity tools and workflow optimizations for the Shadow Worker project. Using these tools and approaches consistently improves development efficiency and code quality.

## Development Environment Setup

### Recommended Tools

1. **Code Editor**
   - Visual Studio Code with C/C++ extensions
   - CLion with CMake integration
   - Visual Studio with C++ workload

2. **Build Tools**
   - CMake 3.20+
   - Ninja build system
   - MSBuild for Windows-specific builds

3. **Version Control**
   - Git with LFS for binary assets
   - GitHub Desktop or GitKraken for visual Git management
   - Conventional commits plugin

4. **Static Analysis**
   - Clang-Tidy for C/C++ code analysis
   - Cppcheck for additional static analysis
   - SonarLint for IDE integration

## Build Workflow Optimization

### Optimized Build Process

1. **Incremental Builds**
   - Use `--target` to build only what's needed
   - Enable precompiled headers for faster compilation
   - Consider unity builds for release mode

2. **Build Scripts**
   - Use the provided build scripts in `build/scripts/`
   - Customize build flags in `build/config/`
   - Use the development shell for consistent environment

3. **Common Build Commands**
   ```batch
   :: Quick debug build
   build.bat debug

   :: Clean release build
   build.bat release clean

   :: Build and run tests
   build.bat test
   ```

## Code Navigation and Comprehension

1. **Code Indexing**
   - Use ctags/gtags for global symbol indexing
   - Set up "Go to Definition" in your IDE
   - Use the architecture diagrams for high-level navigation

2. **Reference Finding**
   - Use `grep` or IDE search for text-based search
   - Use Doxygen-generated documentation
   - Reference the architecture documentation

3. **Code Map**
   - Refer to `docs/architecture/system_map.md` for code organization
   - Use the class hierarchy diagrams
   - Follow module dependencies as outlined in `docs/architecture/`

## Testing Workflow

1. **Test-Driven Development Cycle**
   - Write tests before implementation when possible
   - Run focused tests during development
   - Run full test suite before committing

2. **Debugging Tools**
   - Use Visual Studio debugger for Windows
   - Use GDB for detailed memory inspection
   - Use logging for long-running issues

3. **Performance Testing**
   - Profile with Tracy profiler
   - Benchmark critical sections
   - Compare performance before/after optimizations

## Version Control Workflow

1. **Branch Strategy**
   - Feature branches for new development
   - Pull requests for code review
   - Direct commits to `main` only for urgent fixes

2. **Commit Guidelines**
   - Use conventional commits format
   - Include issue references
   - Keep commits focused and atomic

3. **Code Review Process**
   - Use pull request templates
   - Focus reviews on logic and architecture
   - Automate style checking

## Integration with Other Rules

This rule works in conjunction with:

- **windows-terminal-guide.mdc**: Provides terminal commands for these workflows
- **continuous-improvement.mdc**: Guides the improvement of these tools and processes
- **testing-best-practices.mdc**: Details the testing approaches mentioned here

## See Also
- Shadow Worker Guidelines: Section 4 (Rule Reference Map)
- Related Rules: windows-terminal-guide.mdc