Developers
Contributing to Levix
From your first fork to a review-ready pull request.
Levix is open source under the MIT license. Bug fixes, documentation improvements, tests and focused features are welcome. This walkthrough follows the bot repository's CONTRIBUTING.md; that file is the source of truth if the process changes.
Before you start
- Search open issues and pull requests so you do not duplicate existing work.
- For a large feature, a change in architecture or a behavior change, open an issue and agree on the approach first. Small fixes and docs changes can go straight to a pull request.
- Do not publish a security vulnerability in a public issue. Follow the private disclosure process in SECURITY.md.
Fork and set up locally
You need Git, Node.js 24 or newer, and npm. Fork Abdodiab2005/levix on GitHub, then clone your fork (replace YOUR_USERNAME below). Start from an up-to-date main branch and work on a focused feature branch.
git clone https://github.com/YOUR_USERNAME/levix.gitcd levixgit remote add upstream https://github.com/Abdodiab2005/levix.gitgit switch -c fix/describe-your-changenpm cinpm run build:frontendnpm run devMake a focused change
- For new commands, read Developers → Add a command; include bilingual English and Arabic help and replies, and follow the existing command loader contract.
- For backend and database changes, read Developers → How the code fits together and AGENTS.md. Keep SQLite as the source of truth and mutable state inside the data directory.
- Preserve headless mode without a listening web server, existing paired sessions, and compatibility with npm, Docker, systemd and standalone binaries.
- Add or update regression tests for changed behavior. Document any visible behavior change in README.md or SETUP.md.
Verify before opening a PR
npm testnpm run lintFor panel UI changes, also run npm run build:frontend. Fix failures caused by your patch, but avoid unrelated formatting or dependency updates. The automated checks do not replace a short manual verification of the affected feature.
Open a pull request
- Commit the smallest coherent change with a descriptive message.
- Push your feature branch to your fork, then open a pull request against Abdodiab2005/levix:main.
- Explain the problem, why you chose this solution, how you verified it and any migration or backward-compatibility considerations.
- Check that the PR includes no credentials, local data, unrelated generated files, or unnecessary changes. Address review feedback on the same branch.
git add <changed-files>git commit -m "fix: describe the change"git push -u origin fix/describe-your-change