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

48 lines
1.8 KiB
Markdown

# 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:
```bash
cd backend && npm install
cd ../frontend && npm install
```
5. Start the dev servers:
```bash
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](https://www.conventionalcommits.org/) 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](https://github.com/AnsoCode/Sencho/issues/new?template=bug_report.yml). 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