CONTRIBUTING.md
Rama main · réplica de lectura del repositorio original.
# Contributing
Thanks for improving the aMule React UI. This project is a browser client for aMule's `amuleapi`; it does not add a backend or communicate with the EC protocol directly.
## Local workflow
1. Use Node.js and the pnpm version declared in `package.json`.
2. Copy `.env.example` to `.env` and set only non-secret local endpoints.
3. Install dependencies with `pnpm install`.
4. Start Vite with `pnpm dev`, or run `pnpm build` to produce the static bundle.
Before opening a pull request, run:
```bash
pnpm format:check
pnpm lint
pnpm test
pnpm test:deployment
pnpm test:e2e
pnpm build
pnpm test:release
```
Install Chromium first when it is not already available:
```bash
pnpm exec playwright install --with-deps chromium
```
## Change guidelines
- Keep browser requests on the typed REST/SSE client and validate API data at the boundary.
- Keep authentication cookie-based. Never store passwords, session cookies, or tokens in browser storage or commit them to the repository.
- Treat download removal, clearing, and network-affecting changes as consequential actions: explain the effect, require confirmation where appropriate, and show clear error feedback.
- Keep responsive UI changes keyboard-accessible and use the established icon and Radix primitive patterns.
- Add or update focused tests for schema, state, formatting, filtering, and mutation behavior that changes.
## Pull requests
Use a focused branch and open a pull request targeting `main`. Fill in the pull-request template, keep commits coherent, and include a screenshot or short recording for material interface changes. Required checks validate formatting, linting, unit/integration tests, deployment/release packaging, and browser workflows.
## License
By contributing, you agree that your contributions are licensed under the
[MIT License](LICENSE).
## aMule compatibility
Check the local `docs/api/REFERENCE.md` before extending an API workflow. If behavior belongs in the daemon, web server, or API server rather than the SPA, report or discuss it with the [upstream aMule project](https://github.com/amule-org/amule).