Start an interactive development session with the repository mounted:
docker run --pull always --rm -it -v "$PWD:/workspace" -w /workspace \
ghcr.io/intensivedatacomp/altx-cpp/dev-cpu:edgeedge is the newest build of the development image. --pull always is what keeps that true:
without it Docker pulls only when the tag is missing locally, so a stale edge from last month
would keep starting silently. Drop it to work offline, or once the pull becomes the slow part.
To build the image yourself instead — which is also how you get one matching your own uid — use
./scripts/build_docker_images_locally.sh --target dev and run altx-cpp/dev-cpu:local.
See docs/DevelopmentEnvironment.md for the other configurations and the editor tooling.
Install the git hooks once per clone. Formatting, linting, typing and spelling are then checked on
every git commit:
uv tool install pre-commit && pre-commit installUse uv tool install rather than uvx: the generated git hook records the interpreter path, and
uvx puts it in a cache directory that may be cleaned.
To check the whole tree at any time:
pre-commit run --all-filesEvery check, and how to silence one, is documented in docs/CodeQuality.md.
- Make sure the test suite and pre-commit hooks pass on your branch before opening a pull request.
- Follow the NumPy docstring convention.
- Keep each pull request focused on a single change.
git switch -c feature/your-awesome-feature
# ... make changes ...
git add .
git commit -m "Useful commit message"
git push --set-upstream origin feature/your-awesome-feature
xdg-open https://github.com/dcintlab/artificial-dataset/pull/new/feature/your-awesome-feature
# ... merge the branch to main, make sure that the pipeline passes, delete the branch ...
git switch main
git pull
git branch -d feature/your-awesome-feature
git branch -d feature/your-awesome-feature --remoteThis project is licensed under the GNU General Public License v3.0.