Development Guide
Development Workflow
Chipmunk consists of a Rust backend for log processing, an Electron/Angular frontend application, and smaller libraries facilitating communication between them. Development tasks across these different components are managed using the Chipmunk Development CLI Tool.
This tool simplifies common operations such as building, linting, and running various parts of Chipmunk. It automatically handles project dependencies and tracks changes in source files, ensuring that only necessary components are rebuilt. For comprehensive details on all available commands and functionalities, please consult the documentation for the development CLI tool.
Building the Application
Use the development CLI tool to build the Chipmunk application:
# For development build
cargo chipmunk build app
# For production build
cargo chipmunk build app -p
These commands automatically determine and build only the components that have changed since the last build, optimizing build times.
Running the Application
You can similarly use the run command to start the Chipmunk application:
# Run in development
cargo chipmunk run
# Run in production
cargo chipmunk run -p
The run command automatically performs any necessary builds of modified components before launching the application interface.
Development CLI Help
To explore the full range of commands and options available with the cargo chipmunk
development tool, use the --help
flag:
To list all top-level commands:
cargo chipmunk --help
To view options for a specific command (for example, the build
command):
cargo chipmunk build --help
Code Quality Checks
Before submitting a Pull Request (PR), please run the linters and tests using the development CLI tool. This helps ensure your changes follow the project's coding style and pass basic automated checks.
To check for formatting issues, code smells, or potential errors, run the linters:
Run linters for the entire project:
cargo chipmunk lint
To run linting for the backend only you can use
cargo chipmunk lint core binding
To run linting for the frontend only you can use
cargo chipmunk lint shared wrapper client app
Ensure your changes are covered by appropriate test cases. Run all test cases to verify that everything is working as expected:
cargo chipmunk test
Reporting Issues
Your contributions through bug reports and suggestions are greatly appreciated!
If you discover any bugs, have suggestions for improvements, or identify potential issues within Chipmunk, please report them by opening a new issue on the project's GitHub repository. When reporting bugs, providing a clear description and steps to reproduce the issue is very helpful.