Contribuindo
Issues e pull requests são bem-vindos. Esta página resume a configuração local e os
portões de qualidade; a fonte canônica e sempre atualizada é o
CONTRIBUTING.md
no repositório.
Configuração local
Seção intitulada “Configuração local”O PosterPilot é um app SvelteKit que roda no Bun.
bun installcp .env.example .env # preencha PLEX_URL / PLEX_TOKEN / TMDB_KEY (ou use a interface de Configurações)bun run db:generate # gera as migrações SQL a partir do schema do Drizzle (já commitadas)bun run dev # http://localhost:5173As migrações são aplicadas automaticamente na inicialização do servidor.
Portões de qualidade
Seção intitulada “Portões de qualidade”Toda alteração deve passar por estes antes da revisão — a CI roda os mesmos:
bun run check # verificação de tipos com svelte-checkbun run test # testes unitários com vitestbun run lint # prettier --check (rode `bun run format` para corrigir automaticamente)O projeto segue desenvolvimento orientado a testes para a lógica do servidor — escreva um teste
que falha primeiro, depois a implementação. Mantenha a lógica pura e testável livre de
imports de $env / $app para que possa ser testada unitariamente de forma isolada (veja os testes
existentes para o padrão).
Mensagens de commit
Seção intitulada “Mensagens de commit”O projeto usa Conventional Commits. O prefixo de tipo dirige o changelog automatizado e o bump de versão via release-please:
feat:— um novo recurso (bump minor)fix:— uma correção de bug (bump patch)docs:,chore:,refactor:,test:,ci:— sem release por si sófeat!:/ um rodapéBREAKING CHANGE:— bump major
Exemplo: feat(library): add genre filter.
Pull requests
Seção intitulada “Pull requests”- Crie um branch a partir de
main. - Faça alterações focadas; mantenha o diff restrito a uma única preocupação.
- Garanta que
check,testelintestejam verdes. - Abra um PR usando o template e vincule qualquer issue relacionada.
Alterações orientadas a spec
Seção intitulada “Alterações orientadas a spec”Recursos maiores são planejados com
OpenSpec sob openspec/changes/. Para uma
alteração substancial, proponha uma spec primeiro, depois implemente em relação às suas tarefas. As
specs de capacidade ficam sob openspec/specs/.
Traduzindo
Seção intitulada “Traduzindo”Nenhuma codificação é necessária para ajudar a traduzir a interface — veja Traduzindo para o fluxo de trabalho do Weblate.
PosterPilot is an independent project, not affiliated with or endorsed by Plex, Jellyfin, Emby, MediUX, Fanart.tv, TMDB, ThePosterDB, or Kometa. Trademarks belong to their respective owners. This product uses the TMDB API but is not endorsed or certified by TMDB.