Skip to content

How to Contribute ​

LenserFight Community Edition is currently optimized for contributions that improve installability, workflow reliability, docs, and the existing provider and UI surface.

High-value contribution areas ​

TypeWhat it isWhere it usually lives
Workflow reliabilityFixes to workflow execution, retries, validation, or run UXlibs/infra/execution/, libs/features/workflows/
Lenses and workflow UXImprovements to creation, editing, forking, and viewinglibs/features/lenses/, libs/features/workflows/
DocsSetup, workflow, CLI, or contributor documentation fixesdocs/
InstallabilityLocal setup, Supabase reset, scripts, and onboarding fixesroot scripts, supabase/, docs/
Provider integrationsImprovements to already-supported provider pathslibs/providers/, libs/infra/execution/
Scoped connector proposalsRFCs or narrowly reviewed previews for future connector workissue first, then agreed location

Important scope note ​

This repo does not currently expose a stable public adapter SDK or a guaranteed libs/adapters/* extension contract.

If you want to contribute generalized connector or adapter work:

  1. open an issue first
  2. describe the use case and proposed contract
  3. wait for agreement on placement and scope before implementation

Before you start ​

  1. Check the issue tracker for related work.
  2. For anything larger than a small fix, open an issue first.
  3. Prefer small, reviewable pull requests over broad speculative refactors.

Contribution workflow ​

  1. Fork the repository.
  2. Create a branch from development.
  3. Make focused changes.
  4. Run the smallest relevant validation for the area you changed.
  5. Open a pull request targeting development.

Validation expectations ​

Examples of small, relevant validation:

  • docs-only change: pnpm nx run docs:build
  • workflow engine change: targeted test or lint command for the touched project
  • web UI change: the smallest relevant web check plus a manual smoke note

Code and docs expectations ​

  • keep public claims truthful to the current repo state
  • avoid introducing new product promises in docs without implementation backing them
  • keep public API surface small and explicit
  • prefer incremental improvements to installability and workflow reliability