Skip to content

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