diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index abe35a1c0ee..3e13d162983 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -90,7 +90,7 @@ For development, at least install the development dependencies: pip install -r requirements/requirements-dev.txt ``` -Consider installing other optional dependencies from the `requirements/` directory, if your development work needs them. +Consider installing other optional dependencies from the `requirements/` directory, if your development work needs them. Note that these dependency files are generated by `./scripts/pip-compile.sh` and then committed. See [Managing Dependencies](#managing-dependencies). @@ -151,6 +151,37 @@ The project's documentation is built using Jekyll and hosted on GitHub Pages. To The built documentation will be available in the `aider/website/_site` directory. +### Devcontainers as a development environment + +The project includes a `.devcontainer` configuration that provides a fully configured development environment. You can use this either through VS Code or the devcontainer CLI. + +#### Using VS Code + +1. Install the "Remote - Containers" extension in VS Code +2. Open the project folder in VS Code +3. When prompted to "Reopen in Container", click yes + - Or use the Command Palette (F1) and select "Remote-Containers: Reopen in Container" +4. VS Code will build and start the development container +5. The container includes all dependencies and tools needed for development + +#### Using Devcontainer CLI + +1. Install the devcontainer CLI: +```bash +npm install -g @devcontainers/cli +``` + +2. Build and start the development container: +```bash +devcontainer up --workspace-folder . +``` + +The development container provides: +- All Python dependencies pre-installed +- Pre-commit hooks configured +- Development tools like git, pytest, etc. +- Proper Python version and environment + ## Coding Standards ### Python Compatibility