We are happy to accept contributions that help make AymurAI more useful, more robust, and easier to maintain.
To avoid unnecessary work on either side, please use the following flow.
- Check whether there is already an issue for your topic: https://github.com/AymurAI/backend/issues
- If not, open a new issue with context, motivation, and expected outcome.
- Once the scope is clear, submit a pull request tied to that issue.
If you want to help and do not know where to start, small documentation fixes, test coverage improvements, and cleanup PRs are all welcome.
If you want to get deeper into the API, we recommend cloning the repository and running the stack locally. The codebase is fairly navigable, and most of the important modules are documented or organized by workflow.
You can use the provided compose services directly:
make api-up
# or make api-full-upBundled frontend: http://localhost:8899/
Swagger UI: http://localhost:8899/api/docs
If you prefer working from VS Code, the repository also includes a .devcontainer/ setup.
Repository requires Python 3.10.
# if using uv
uv sync --all-groups
# fallback with pip
pip install -e .For most contributors, Docker is the easiest way to get a working API with the expected runtime dependencies.
The frontend supports browser and Electron development. Install its dependencies and run the desired target:
cd frontend
pnpm install
pnpm run dev:web # browser
pnpm run dev # ElectronBefore submitting frontend changes, run:
pnpm run lint
pnpm run typecheck
pnpm testSee the frontend README for build and packaging commands.
After installing dependencies, enable the hooks:
pre-commit installConfigured hooks currently include:
ruffruff-formatnbstripout
This helps keep code formatting consistent and prevents notebook output from leaking into commits.
If needed, you can run the formatter manually before committing:
ruff format aymurai/When behavior changes in the frontend, API, pipelines, or DB persistence, update the corresponding docs in the same PR:
README.mdfrontend/README.mddocs/api/README.mddocs/pipelines/README.mddocs/pipelines/anonymizer/README.mddocs/pipelines/datapublic/README.mddocs/database/README.mddocs/entities/README.mddocs/models/README.md
If the change is user-facing, documentation should land together with the code.
- Code of conduct: CODE_OF_CONDUCT.md
- Security and ethics: SECURITY.md