Skip to content

Latest commit

 

History

History
49 lines (32 loc) · 2.09 KB

File metadata and controls

49 lines (32 loc) · 2.09 KB

Contributing to NowPath

Thank you for wanting to help. NowPath is a small, careful project for people in hard moments, so a few things matter more here than in a typical app.

Before you start

  • Read NOWPATH_SPEC.md — it is the source of truth for what NowPath is, is not, and will never do.
  • The commitments in the README's "What NowPath will never do" are non-negotiable. Please don't propose features that detect emotions, score recovery, use AI to interpret the user, contact anyone automatically, or send content off-device.

Development

Requirements: Node 20+ and npm.

npm install
npm run dev        # http://localhost:5173

Before opening a pull request, all of these must pass:

npm run typecheck
npm test
npm run check:lang
npm run build

The plain-language gate

Every user-facing string lives in src/strings/en.json with a target reading level:

  • A2 for anything inside the Back to Now flow (a person may be dissociating, exhausted, or reading in a second language).
  • B1 everywhere else.

npm run check:lang enforces sentence length, word length, and a short list of banned idioms. If you add or change a string, run it. Prefer one idea per sentence, plain words, and no metaphors on buttons.

Guidelines

  • Accessibility is a requirement, not a nicety. Large touch targets, keyboard operability, reduced-motion support, and correct semantics/ARIA.
  • No new runtime dependencies without discussion. The trust base is deliberately tiny.
  • Privacy by construction. Nothing user-authored should ever leave the device except through a deliberate, user-initiated export.
  • Keep motion calm. Opacity-only transitions; nothing that flashes, pulses, or races.
  • Match the surrounding code's style, naming, and comment density.

Reporting issues

For bugs, include the browser/OS and steps to reproduce. For anything touching crisis resources or safety copy, please flag it clearly — those changes get extra scrutiny.

By contributing, you agree that your contributions are licensed under the project's MIT License.