Skip to content

Latest commit

 

History

History
71 lines (53 loc) · 2.33 KB

File metadata and controls

71 lines (53 loc) · 2.33 KB

Contributing to OpenLOS

OpenLOS is a quiet local-first tool for professional support letters and human attestations. Contributions should strengthen trust, clarity, accessibility, and export quality.

Project Values

  • Keep the product document-centric.
  • Reduce supporter burden without reducing authenticity.
  • Make provenance visible and understandable.
  • Preserve supporter agency, including expiration and future revocation decisions.
  • Avoid social, viral, gamified, recruiter-tech, or enterprise HR patterns.
  • Be explicit about limitations.

Development Setup

cp .env.example .env
npm install
npm run prisma:generate
npx prisma migrate dev
npm run dev

Useful validation commands:

npm run typecheck
npm run lint
npm run build
npx prisma validate

Contribution Guidelines

  • Keep changes small and reviewable.
  • Prefer existing project patterns before introducing new abstractions.
  • Document trust-sensitive behavior in code and docs.
  • Do not introduce hosted SaaS assumptions into the local-first MVP path.
  • Do not add billing, teams, analytics, social features, AI writing, recruiter dashboards, blockchain, or Go code.

License Expectations

OpenLOS is Apache-2.0. New code and documentation contributed to this repository are expected to be compatible with Apache-2.0.

Dependency Review Expectations

Before adding a dependency, consider:

  • Is it actively maintained?
  • Is the license compatible with Apache-2.0?
  • Does it add meaningful value over local implementation?
  • Does it increase security, privacy, or supply-chain risk?
  • Can it run locally without required cloud services?

Accessibility Expectations

  • Forms must have labels.
  • Modal and sheet flows must preserve keyboard accessibility.
  • Document previews should remain readable at narrow widths.
  • Buttons and icon-only actions need accessible names.
  • Endorsement status must not rely on color alone.

Security and Trust Expectations

  • Drafts are editable.
  • Frozen versions are immutable.
  • Endorsements attach only to frozen versions.
  • Supporter request links must refer to the exact frozen version.
  • Expired endorsements should remain visible as expired unless a future project decision changes that rule.
  • Exported documents must show provenance metadata.
  • Contributors must not add legal-signature claims without an explicit project decision.