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

83 lines
2.4 KiB
Markdown

---
toc_depth: 1
---
# Setup
## Prerequisites
You need two tools to develop RenderCV:
- **[`uv`](https://docs.astral.sh/uv/)**: Package and project manager. It also handles Python installations, so you don't need to install Python separately.
- **[`just`](https://github.com/casey/just)**: Command runner. Development commands are defined in the [`justfile`](https://github.com/rendercv/rendercv/blob/main/justfile), and you need `just` to run them.
Install them by following their official installation guides:
- [Install `uv`](https://docs.astral.sh/uv/getting-started/installation/)
- [Install `just`](https://github.com/casey/just#installation)
## Setting Up the Development Environment
1. Clone the repository:
```bash
git clone --recursive https://github.com/rendercv/rendercv.git
```
and change to the repository directory:
```bash
cd rendercv
```
> [!NOTE]
> The `--recursive` flag clones the [rendercv-skill](https://github.com/rendercv/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):
```bash
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](testing.md) 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