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)