1+ ---
2+ description:
3+ globs:
4+ alwaysApply: false
5+ ---
6+ ---
7+ description: Project-specific rules for evtx2es
8+ globs: ["**/*"]
9+ alwaysApply: true
10+ ---
11+
12+ # evtx2es - Project Specific Rules
13+
14+ ## Project Overview
15+ evtx2es is a Python tool for fast import of Windows EventLogs (.evtx) into Elasticsearch using Rust library pyevtx-rs for high performance.
16+
17+ ## Technology Stack
18+ - **Language**: Python 3.8+
19+ - **Core Dependencies**:
20+ - pyevtx-rs (Rust-based EVTX parser)
21+ - elasticsearch (Elasticsearch client)
22+ - Click (CLI framework)
23+ - **Package Manager**: pip/poetry
24+ - **Development Tools**: pytest, black, mypy
25+
26+ ## Project Structure
27+ ```
28+ evtx2es/
29+ ├── src/evtx2es/ # Main package
30+ ├── tests/ # Test files
31+ ├── docs/ # Documentation
32+ ├── examples/ # Usage examples
33+ ├── requirements.txt # Production dependencies
34+ ├── requirements-dev.txt # Development dependencies
35+ └── README.md # Project documentation
36+ ```
37+
38+ ## Domain-Specific Requirements
39+
40+ ### Performance Considerations
41+ - Optimize for large EVTX file processing
42+ - Use streaming/chunked processing for memory efficiency
43+ - Leverage Rust-based pyevtx-rs for maximum performance
44+ - Implement progress reporting for long-running operations
45+
46+ ### Elasticsearch Integration
47+ - Support multiple Elasticsearch versions
48+ - Implement proper index mapping for Windows Event Log fields
49+ - Handle connection errors and retries gracefully
50+ - Support bulk indexing for performance
51+
52+ ### CLI Design
53+ - Use Click for consistent command-line interface
54+ - Provide clear progress indicators
55+ - Support configuration files
56+ - Implement proper error messages and help text
57+
58+ ### Windows Event Log Specifics
59+ - Handle various EVTX file formats correctly
60+ - Preserve all relevant event metadata
61+ - Support filtering and transformation of events
62+ - Handle malformed or corrupted EVTX files gracefully
63+
64+ ### Data Processing
65+ - Implement proper JSON serialization for Elasticsearch
66+ - Handle timestamp conversion and formatting
67+ - Support custom field mapping and transformation
68+ - Ensure data integrity during processing
69+
70+ ## Development Workflow
71+ - Focus on CLI usability and performance
72+ - Test with real EVTX files of various sizes
73+ - Benchmark performance improvements
74+ - Document configuration options thoroughly
75+
76+ ---
77+
78+ ## AI Assistant Instructions
79+
80+ ### Project Context Awareness
81+ - Always consider the Windows Event Log processing context
82+ - Understand the performance-critical nature of the tool
83+ - Be aware of Elasticsearch indexing requirements
84+ - Consider CLI user experience in suggestions
85+
86+ ### Enhancement Suggestions
87+ - When suggesting improvements, consider:
88+ - Performance impact on large file processing
89+ - Elasticsearch compatibility
90+ - CLI usability
91+ - Memory efficiency
92+ - Always test suggestions with the project's core functionality in mind
0 commit comments