CONTRIBUTING.md
Rama main · réplica de lectura del repositorio original.
# Contributing to Plekt
Thanks for your interest in improving Plekt. This is a self-hosted, single-maintainer
project, so please keep pull requests focused and read this guide before opening one.
## Before you start
- For anything beyond a small fix, open an issue first to discuss the change. This avoids
wasted effort on approaches that don't fit the project's direction.
- Check existing issues and pull requests to avoid duplicate work.
- Security vulnerabilities should **not** be reported as public issues - see [SECURITY.md](SECURITY.md).
## Development setup
```bash
npm install
npm run dev # auto-reload dev server on http://localhost:5056
```
On Windows, use the host's normal network-enabled environment for this server. If
Codex is launching it, the start command must use the approved elevated network
execution path; the restricted sandbox can serve the UI while denying outbound
connections to connected media servers.
Automated checks are available: `npm test` runs the test suite, while `npm run build`
runs the syntax, documentation, route-guard, and clean-startup checks. There is no
separate linter configured, so also verify changes by running the app locally and
exercising the affected feature in the browser.
## Project structure
See [docs/architecture.md](docs/architecture.md) for a full breakdown of the server
and frontend architecture, including:
- Frontend module boundaries (`public/modules/*.js`) and where new UI code belongs
- The webhook → sync data flow
- SQLite schema and data layer conventions
Please follow the existing module boundaries described there - `public/app.js` is an
orchestrator only, and new frontend logic should go in the most specific existing module for
that feature area.
## Making changes
- Keep pull requests scoped to a single feature or fix. Avoid bundling unrelated refactors.
- Match the existing code style (plain ES modules, no build step, no TypeScript, no framework).
- Update relevant documentation in `docs/` and `README.md` when behavior, setup, or
configuration changes.
- Write clear commit messages describing the *why*, not just the *what*.
## Submitting a pull request
1. Fork the repository and create a branch from `main`.
2. Make your changes and verify them locally.
3. Open a pull request describing the change, the motivation, and how you tested it.
4. Be responsive to review feedback - this is a small project maintained in spare time, so
reviews may take a few days.
## Reporting bugs and requesting features
Use the issue templates provided when opening a new issue. Include enough detail (Plex/Emby/
Jellyfin version, relevant log excerpts, and steps to reproduce) for the maintainer to act on the
report. Redact passwords, API keys, access tokens, webhook URLs, and personal information before
posting logs or configuration details.
## Code of Conduct
By participating in this project, you agree to abide by the [Code of Conduct](CODE_OF_CONDUCT.md).