Skip to content

Pikaraoke development guide

Vicwomg edited this page Nov 5, 2024 · 4 revisions

Developing pikaraoke

The Pikaraoke project utilizes Poetry for dependency management and local development.

  • Install poetry: Poetry
  • Git clone this repo

From the pikaraoke directory:

# install dependencies
poetry install
# Run pikaraoke from the local codebase
poetry run pikaraoke

Running pre-commit checks

Commits that do not meet the code quality requirements will be rejected by CI and slow down the PR process.

Before committing, run code-quality check on your codebase with: poetry run pre-commit run --config code_quality/.pre-commit-config.yaml --all-files

This should auto-fix where it can.

Commitlint

Commit messages must follow the commitlint format

At a minimum, this is <type>: <description>

Examples:

build: update npm dependency
ci: add circleci configuration file
docs: fix typo in foo.md and bar.md
perf: optimize database query for faster response times
feat: allow provided config object to extend other configs
fix: resolve issue with incorrect data rendering
refactor: reorganize code structure for better readability
style: format code according to Prettier standards
test: add unit tests for user authentication

This guide by arunkumarvallal is a good guideline for how to write good commitlint messages

PRs / Release process

PRs will be merged to a development branch for the next release, not directly master.

Upon approval, PRs will be squashed into a single commit, which will include a proper commitlint message

When a release branch is deemed ready, it will be rebased and merged to master with all the commits from the collected PRs. Github actions will handle all the releasing to PyPi and creating a new release page summary in Github.