Files
sencho/CONTRIBUTING.md
T
Anso 4aa49f371d docs: clean and sanitize CHANGELOG history (#505)
Audit cleanup of CHANGELOG.md accumulated over 43 releases:

- Delete 23 orphaned `[Unreleased]` sections. Release-please does not
  consolidate manually-added Unreleased content into the next release, so
  each previous contributor's notes were left stranded between release
  blocks. The auto-generated release sections above each orphan already
  captured the commits.
- Sanitize internal implementation details that should not be in a
  public changelog: internal service/class/middleware names, library
  names, container file paths, internal endpoint paths, exact rate-limit
  thresholds, encryption primitives, and CVE/version-specific remediation
  details.
- Normalize tier naming throughout: legacy "Team Pro" / "Personal Pro" /
  "Sencho Pro" / "(Pro)" references rewritten to "Skipper" / "Admiral" /
  "Skipper and Admiral" per current product tiering.
- Deduplicate the v0.39.0 bulk dump and other sections where
  release-please swept the same commit subjects in multiple times.
- Rewrite the v0.1.0 section from a raw engineering log (with file
  paths, attack payloads, and internal module names) into user-facing
  release notes organised by Security / Added / Fixed / Changed /
  Removed.
- Update CONTRIBUTING.md to tell contributors not to edit CHANGELOG.md
  directly, matching the actual release-please flow. This is the root
  cause that created the 23 orphan Unreleased sections in the first
  place.

Verification:
- `## [Unreleased]` count: 0
- Legacy tier name count: 0
- Internal service/library name count: 0
- CVE IDs: 0
- File shrunk from 1,599 to 901 lines
2026-04-10 23:26:48 -04:00

1.8 KiB

Contributing to Sencho

Thank you for your interest in contributing to Sencho!

Getting Started

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/Sencho.git
  3. Create a branch: git checkout -b feature/your-feature
  4. Install dependencies:
    cd backend && npm install
    cd ../frontend && npm install
    
  5. Start the dev servers:
    cd backend && npm run dev    # Express + nodemon on :3000
    cd frontend && npm run dev   # Vite on :5173
    

Development

  • Backend: Node.js + Express + TypeScript in backend/
  • Frontend: React 19 + Vite + TypeScript in frontend/
  • Tests: cd backend && npm test (Vitest) and npm run test:e2e (Playwright)
  • Lint: npm run lint in both backend/ and frontend/

Pull Request Process

  • All PRs target main
  • Ensure CI passes before requesting review
  • Use Conventional Commits for commit messages
  • Update documentation if your change affects user-facing behavior
  • Add tests for new functionality
  • Keep PRs focused - one feature or fix per PR
  • Do not edit CHANGELOG.md directly. It is generated from your conventional-commit subjects by release-please. If a user-facing change needs more context than the commit subject captures, enrich the auto-opened Release PR description before it is merged.

Reporting Bugs

Use the bug report template. Include: deployment method, Sencho version, browser (for UI issues), steps to reproduce, and expected vs actual behavior.

Code Style

  • TypeScript with strict: true - no any casts or @ts-ignore
  • ESLint 9 flat config for both backend and frontend
  • Tailwind CSS + shadcn/ui for frontend styling
  • Follow existing patterns in the codebase