Files
rendercv/docs/developer_guide/index.md
Sina Atalay 9b83f07ac9 Move distributable skill to rendercv/rendercv-skill submodule
The skill file lived in the main repo, which meant `npx skills add`
had to clone the entire RenderCV codebase and exposed internal dev
skills. A dedicated lightweight repo solves both problems.

- Create rendercv/rendercv-skill repo as a read-only distribution channel
- Add it as a submodule at .claude/skills/rendercv-skill/
- Update generation script and tests to write to the submodule path
- Add submodules: true to test workflow checkout steps
- Update docs, README, and install commands to use rendercv/rendercv-skill
- Add --recursive clone instruction to developer guide
- Delete the old skills/ directory at repo root
2026-03-20 20:41:53 +03:00

2.4 KiB

toc_depth
toc_depth
1

Setup

Prerequisites

You need two tools to develop RenderCV:

  • uv: Package and project manager. It also handles Python installations, so you don't need to install Python separately.
  • just: Command runner. Development commands are defined in the justfile, and you need just to run them.

Install them by following their official installation guides:

Setting Up the Development Environment

  1. Clone the repository:

    git clone --recursive https://github.com/rendercv/rendercv.git
    

    and change to the repository directory:

    cd rendercv
    

    Note

    The --recursive flag clones the rendercv-skill submodule. If you forgot it, run git submodule update --init inside the repo.

  2. Set up the development environment (creates a virtual environment in ./.venv with all dependencies):

    just sync
    
  3. Run just test to verify all tests pass and everything is set up correctly.

  4. Finally, activate the virtual environment in your integrated development environment (IDE). In Visual Studio Code:

    • Press Ctrl+Shift+P.
    • Type Python: Select Interpreter.
    • Select the one in ./.venv.

That's it! You're now ready to start developing RenderCV.

Available Commands

Development

  • just sync: Sync all dependencies (including extras and dev groups)
  • just format: Format code with black and ruff
  • just check: Run all checks (ruff, ty, pre-commit)
  • just lock: Update uv.lock file

Testing

  • just test: Run tests with pytest
  • just test-coverage: Run tests with coverage report
  • just update-testdata: Update test data files (see Testing for more details)

Documentation

  • just build-docs: Build documentation
  • just serve-docs: Serve documentation locally with live reload

Scripts

  • just update-schema: Update JSON schema
  • just update-entry-figures: Update entry figures for documentation
  • just update-examples: Update example files
  • just create-executable: Create standalone executable

Utilities

  • just count-lines: Count lines of Python code in the src/ directory