Thank you for your interest in contributing to the Fuel Pump Management System (FPMS)! This guide will help you get started.
- Code of Conduct
- Getting Started
- Development Setup
- Making Changes
- Commit Guidelines
- Pull Request Process
- Reporting Bugs
- Requesting Features
This project follows a Code of Conduct. By participating, you are expected to uphold this code.
-
Fork the repository on GitHub.
-
Clone your fork into your bench:
cd $PATH_TO_YOUR_BENCH bench get-app https://github.com/<your-username>/fpms --branch version-16 bench --site your-site.com install-app fpms
-
Add the upstream remote:
cd apps/fpms git remote add upstream https://github.com/kodlyft/fpms.git -
Create a new branch from
version-16:git checkout -b feat/your-feature-name version-16
| Dependency | Version |
|---|---|
| Python | >= 3.14 |
| Frappe Framework | v16 |
| ERPNext | v16 |
Install pre-commit hooks to ensure code quality before every commit:
cd apps/fpms
pip install pre-commit
pre-commit install
pre-commit install --hook-type commit-msgcd $PATH_TO_YOUR_BENCH
bench start # Start Frappe development server-
Keep changes focused. A single PR should address a single concern.
-
Write or update tests for any new functionality.
-
Ensure all linters and tests pass before submitting:
# Python linting ruff check fpms/ # All pre-commit hooks (ruff, semgrep, prettier) pre-commit run --all-files # Tests bench --site your-site.com run-tests --app fpms
All commits must follow the Conventional Commits specification. This enables automated versioning and changelog generation.
<type>(<optional scope>): <description>
[optional body]
[optional footer(s)]
| Type | Description |
|---|---|
feat |
A new feature |
fix |
A bug fix |
docs |
Documentation only changes |
style |
Formatting, missing semicolons, etc. |
refactor |
Code change that neither fixes nor adds |
perf |
Performance improvement |
test |
Adding or updating tests |
build |
Build system or dependency changes |
ci |
CI configuration changes |
chore |
Other changes that don't modify src/test |
revert |
Reverts a previous commit |
feat: add dip-chart interpolation to Tank
fix: correct shift variance rounding on multi-nozzle reconciliation
docs: document OGRA fuel price notification workflow
refactor(pricing): simplify effective-dated Item Price lookup
test: add unit tests for wet-stock variance
-
Sync your branch with the latest
version-16:git fetch upstream git rebase upstream/version-16
-
Push your branch and open a Pull Request against the
version-16branch. -
Fill out the PR template completely describe what changed and why.
-
Ensure all CI checks pass (linting, semgrep, tests).
-
A maintainer will review your PR. Address any feedback and push updates to the same branch.
-
Once approved, a maintainer will merge your PR.
Use the Bug Report issue template. Please include:
- Steps to reproduce
- Expected vs. actual behavior
- Screenshots or error logs if applicable
- Your environment (Frappe version, ERPNext version, OS)
Use the Feature Request issue template. Describe:
- The problem you're trying to solve
- Your proposed solution
- Any alternatives you've considered
Thank you for contributing to FPMS!