Skip to main content

Contributing CE

Aicser CE is open source under AGPL-3.0. Bug fixes, features, and documentation improvements are all welcome.

Before you start

  • Browse open issues to find something to work on
  • For significant changes, open an issue first to discuss the approach before writing code

Workflow

1. Fork the repository

Fork github.com/Aicser-Platform/aicser to your GitHub account.

2. Create a branch

git checkout -b your-feature-or-fix-name

Use descriptive names — e.g. fix-data-source-connection-timeout or feat-add-scatter-chart-labels.

3. Set up your development environment

Follow the Local Development Setup guide.

4. Make your changes

Keep pull requests focused. One PR should address one concern.

5. Run linters and tests

# Server
cd server
poetry run black . && poetry run isort . && poetry run flake8 .
poetry run pytest

# Client
cd client
npm run lint && npm run format
npm run test

6. Submit a pull request

Push your branch and open a pull request against main. Describe what the change does and why.

Code style

Python (server): Black (line length 88), isort, flake8

TypeScript (client): ESLint, Prettier

Opening issues

Report bugs and request features at github.com/Aicser-Platform/aicser/issues.

When reporting a bug, include:

  • Steps to reproduce
  • Expected behaviour
  • Actual behaviour
  • Aicser version, OS, and Docker version