Development Setup¶
This guide provides detailed instructions for setting up a development environment for CVWonder.
Prerequisites¶
Before setting up the development environment, ensure you have the following prerequisites installed:
- Go 1.22 or higher
- Python 3.7 or higher (pre-commit hooks)
Setting Up the Development Environment¶
Clone the Repository¶
First, fork the CVWonder repository on GitHub, then clone your fork:
git clone https://github.com/YOUR-USERNAME/cvwonder-studio.git
cd cvwonder-studio/
Add the upstream repository as a remote:
git remote add upstream https://github.com/germainlefebvre4/cvwonder-studio.git
Install Development Dependencies¶
Install Pre-commit Hooks¶
CVWonder uses pre-commit hooks to ensure code quality:
pre-commit install
This will automatically run linters and formatters before each commit.
Development Tools¶
Code Formatting¶
Linting¶
Type Checking¶
Testing¶
Project Structure¶
The direcotry structure of CVWonder Studio is explained in the Architecture - Directory Structure section.
Building Documentation¶
The documentation is built using MkDocs and MkDocs Material:
# Install documentation dependencies
make doc-install
# Serve documentation locally
make doc-serve
This will start a local server at http://127.0.0.1:8000/ where you can preview the documentation.
Common Development Tasks¶
Debugging Tips¶
Using the Debugger¶
If you're using VS Code, a launch configuration is provided in .vscode/launch.json for debugging.
Logging¶
CVWonder uses Logrus for logging.
Continuous Integration¶
CVWonder uses GitHub Actions for continuous integration:
- Tests are run on every push and pull request
- Code formatting and linting are checked
- Documentation is built to ensure it compiles correctly
Make sure your code passes all CI checks before submitting a pull request.
Next Steps¶
- Read the Contributing Guide for information on the development process
- Explore the Architecture to understand how CVWonder works