parses paypal soap logs
1# CRUSH Development Guidelines 2 3## Commands 4- **Run parser**: `./transaction-parser.sh <logfile>` 5- **Test parser**: `./transaction-parser.sh -s <logfile>` (summary mode) 6- **Help**: `./transaction-parser.sh --help` 7 8## Code Style 9- **Language**: Bash scripting 10- **Shebang**: Use `#!/usr/bin/env nix-shell` with dependencies 11- **Formatting**: 12 - 4-space indentation 13 - Functions use snake_case 14 - Variables use UPPER_CASE 15- **Structure**: 16 - Clear function separation 17 - Help documentation included 18 - Error handling with exit codes 19- **Dependencies**: gnugrep, gnused, coreutils (via nix-shell) 20 21## Best Practices 22- Always validate input files exist 23- Use proper error messages and exit codes 24- Include comprehensive help documentation 25- Follow tab-separated output format for structured data 26- Handle edge cases in XML parsing 27 28## Naming Conventions 29- Variables: UPPER_CASE 30- Functions: snake_case 31- Files: kebab-case.sh 32 33## Error Handling 34- Check file existence before processing 35- Validate arguments 36- Exit with appropriate codes (0 for success, 1 for error)