### Install Project Dependencies Source: https://github.com/kresusapp/kresus/blob/main/CONTRIBUTING.md Install all necessary dependencies for the Kresus project before starting development. ```bash yarn install ``` -------------------------------- ### Install better-sqlite3 for testing Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md If using SQLite for testing, install the necessary npm package globally in the temporary directory. ```bash npm -g install --production --prefix /tmp better-sqlite3 ``` -------------------------------- ### Test npm release installation Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Install Kresus globally from npm to a temporary directory and run it. ```bash npm -g install --production --prefix /tmp kresus ``` ```bash /tmp/bin/kresus -c /path/to/config.ini ``` -------------------------------- ### Start Development Server Source: https://github.com/kresusapp/kresus/blob/main/CONTRIBUTING.md Start the Kresus development server in development mode. This command automatically builds server and client files and spawns the main server. ```bash yarn dev ``` -------------------------------- ### Run PostgreSQL Docker Container Source: https://github.com/kresusapp/kresus/blob/main/CONTRIBUTING.md Start a PostgreSQL Docker container for local development. This command maps the container's port 5432 to the host and sets a default password. ```bash docker run --rm --name kresus-postgres -p 5432:5432 -e POSTGRES_PASSWORD=kresusdev postgres ``` -------------------------------- ### Add better-sqlite3 to Docker container Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Execute commands inside a running Kresus Docker container to install better-sqlite3. ```bash docker exec -ti $container bash yarn global add better-sqlite3 ``` -------------------------------- ### Test Docker Hub image Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Run the Kresus Docker container, mapping the port and mounting a configuration file. ```bash docker run -ti -p 9876:9876 -v /path/to/config.ini:/opt/config.ini bnjbvr/kresus ``` -------------------------------- ### Push builds branch and tag Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Push the builds branch and the newly created tag to the upstream repository. ```bash git push upstream 0.14.0 ``` -------------------------------- ### Publish to npm Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Publish the Kresus package to the npm registry. Use --dry-run to preview changes. ```bash npm publish --dry-run ``` ```bash npm publish ``` -------------------------------- ### Tag release version Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Create a Git tag for the specific release version. ```bash git tag 0.14.0 ``` -------------------------------- ### Tag Docker image with version Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Tag the latest Docker image with the specific release version number. ```bash docker tag bnjbvr/kresus:latest bnjbvr/kresus:0.14.0 ``` -------------------------------- ### Trigger Docker Hub release build Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Run the script to build the stable Docker image for Kresus. ```bash yarn docker:release ``` -------------------------------- ### Run Tests with Woob Support Source: https://github.com/kresusapp/kresus/blob/main/CONTRIBUTING.md Run Kresus tests with Woob support enabled by setting the KRESUS_WOOB_DIR environment variable. ```bash KRESUS_WOOB_DIR=/path/to/woob yarn ci:test ``` -------------------------------- ### Push Docker images to Docker Hub Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Log in to Docker Hub and push both the latest and version-specific tags. ```bash docker login docker push bnjbvr/kresus:latest && docker push bnjbvr/kresus:0.14.0 ``` -------------------------------- ### Run All Tests Source: https://github.com/kresusapp/kresus/blob/main/CONTRIBUTING.md Execute all tests in the Kresus project using the CI test script. ```bash yarn ci:test ``` -------------------------------- ### Merge main into builds branch Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Checkout the builds branch and merge changes from main, prioritizing main's changes. ```bash git checkout builds && git pull upstream builds && git merge -X theirs main ``` -------------------------------- ### Run CI Tests and Lints Source: https://github.com/kresusapp/kresus/blob/main/CONTRIBUTING.md Execute all continuous integration tests and linters to ensure code quality and compliance. ```bash yarn ci ``` -------------------------------- ### Commit build changes Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Stage changes, then commit with a specific message format for build artifacts. ```bash git status git add -u git commit -m "Build;" ``` -------------------------------- ### Push main branch to Git Source: https://github.com/kresusapp/kresus/blob/main/RELEASE.md Push the main branch to the remote repository. ```bash git push main ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.