Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions docs/pages/contribution/contribution.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,3 +147,29 @@ write better code faster. Here are some extensions that you might want to instal
- Ruff: For formatting your code.
- MDX: For the documentation website under `docs` folder.
- Even Better TOML: For editing aact workflow files.

## Using Dev Containers for development
You can use dev containers to make development consistent across environments. It can be used with VS Code (preferred), other IDEs, or skip containers entirely. It is recommended to use VS Code as it is what Dev Containers was built for. Keeping a consistent IDE choice amongst developers also helps ensure we face fewer challenges.

### Using VS Code (Recommended)
1. Install VS Code
1. Install the Dev Containers extension for VS Code
1. Open the sotopia folder in VS Code
1. When prompted, select "Reopen in Container."

VS Code will build the container using the `.devcontainer` folder and open the workspace with all dependencies installed. From there, you can now run and test the project inside the container.

### Other IDEs or Editors
Without VS Code, you will need to use basic Docker configurations.
1. Please refer to [Dev Containers](https://containers.dev/supporting#editors) to see how to set up Dev Containers in other editors
1. Alternatively, you can use the Docker setup directly if your editor supports it

### Without Dev Containers
If you do not want to use containers, you can run everything directly on your machine.
1. You'll need to ensure you have Python 3.10+ and install uv using `pip install uv`
1. You'll need `uv` to install the project dependencies.
1. Install all dependencies using uv:
```
uv sync --all-extras
```
1. From there you can run the application and tests using uv commands