···
# CRUSH Development Guidelines
+
- **Build with nix**: `nix build`
+
- **Run parser**: `./result/bin/transaction-parser <logfile>`
+
- **Test parser**: `./result/bin/transaction-parser -s <logfile>` (summary mode)
+
- **Help**: `./result/bin/transaction-parser --help`
+
- **Build with clang**: `clang++ -std=c++17 -O3 -o transaction-parser src/transaction-parser.cpp`
+
- Functions use camelCase
+
- Classes use PascalCase
+
- Variables use camelCase
- Clear function separation
- Help documentation included
+
- Error handling with return codes
+
- **Dependencies**: Standard C++ libraries only
+
- **Nix Flake**: For reproducible builds and development environment
+
- **CMake**: For cross-platform build configuration
+
- **Compiler**: Clang++ with C++17 standard
- Always validate input files exist
+
- Use proper error messages and return codes
- Include comprehensive help documentation
+
- Follow pipe-separated output format for structured data
+
- Handle edge cases in XML parsing with regex
+
- Use STL containers and algorithms for performance
+
- Files: kebab-case.cpp
- Check file existence before processing
+
- Return appropriate codes (0 for success, 1 for error)
+
- Use try/catch blocks for exception handling