OpenLOS is a quiet local-first tool for professional support letters and human attestations. Contributions should strengthen trust, clarity, accessibility, and export quality.
- 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.
cp .env.example .env
npm install
npm run prisma:generate
npx prisma migrate dev
npm run devUseful validation commands:
npm run typecheck
npm run lint
npm run build
npx prisma validate- 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.
OpenLOS is Apache-2.0. New code and documentation contributed to this repository are expected to be compatible with Apache-2.0.
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?
- 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.
- 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.