Files
immich-folio/CONTRIBUTING.md
ralksta 3fa47f7031 chore: add GitHub community files and CI pipeline
- .github/workflows/ci.yml: TypeScript check + Vitest + build on every PR
- .github/dependabot.yml: weekly npm + Actions updates (minor/patch grouped)
- .github/ISSUE_TEMPLATE/: bug_report, feature_request, config (→ Discussions)
- .github/PULL_REQUEST_TEMPLATE.md: checklist for contributors
- SECURITY.md: responsible disclosure policy via GitHub Advisories
- CONTRIBUTING.md: dev setup, code style, commit conventions
2026-03-13 13:00:19 +01:00

1.8 KiB

Contributing to Immich Folio

Thanks for your interest in contributing! 🎉

Ways to contribute

Development setup

# 1. Clone
git clone https://github.com/ralksta/immich-folio.git
cd immich-folio

# 2. Install
npm install

# 3. Configure
cp content/gallery.example.yaml content/gallery.yaml
# Edit .env or set IMMICH_URL + IMMICH_API_KEY

# 4. Run
npm run dev       # http://localhost:3000
npm run build     # production build check

Before submitting a PR

npx tsc --noEmit   # must be 0 errors
npx vitest run     # all tests must pass
npm run build      # build must succeed

Code style

  • TypeScript — strict mode, no any without justification
  • Components — Server Components by default; use 'use client' only when necessary
  • CSS — vanilla CSS variables, no Tailwind, no CSS-in-JS
  • Naming — descriptive names, no abbreviations in public APIs

Commit messages

Use Conventional Commits:

feat: add new hero style
fix: correct image aspect ratio on mobile
security: escape HTML in map popups
docs: update theming guide
chore: bump next to 15.x

Pull Request checklist

  • npx tsc --noEmit passes
  • npx vitest run passes
  • npm run build passes
  • No secrets in the diff
  • Documentation updated if needed

License

By contributing, you agree that your contributions will be licensed under the MIT License.