Files
pentagi/CONTRIBUTING.md
Sergey KozyrenkoandClaude Opus 4.8 c479aec390 test(e2e): make the hover contrast assertion actually measure hover
The probes carry `transition-colors`, so reading the computed background right
after hover() sampled a colour still interpolating away from the rest state —
the half of the gate that exists to catch hover regressions could not catch one.
Disabling the transition on the probes fixes it: verified by giving one variant a
deliberately unreadable hover fill, which the assertion now reports as "badge
blue on hover" and previously let through.

Key the probe list off the variant union so a new badge variant fails to compile
until it is probed, rather than silently going unmeasured.

Also correct two route-manifest ownerships that misdirect diff-scoping: the flows
provider is mounted by the detail route as well as the list, and the provider
detail page was attributed to the list route that never renders it.

Doc fixes: the route sweep is tagged @cross, not @coverage; the licenses link in
CONTRIBUTING resolved outside the repository; and the frontend prettierignore
duplicated entries prettier already reads from gitignore.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 22:18:37 +07:00

2.3 KiB

License Compliance Guide

Overview

PentAGI is MIT licensed and all dependencies use MIT-compatible licenses.

For Developers

Adding New Dependencies

When adding new dependencies, ensure they use compatible licenses:

Approved Licenses

  • MIT
  • Apache-2.0
  • BSD-2-Clause, BSD-3-Clause
  • ISC
  • MPL-2.0 (if used without modification)
  • 0BSD (public domain)

Incompatible Licenses

  • GPL, LGPL, AGPL (without special exception)
  • CC-BY-SA (for code, OK for data)
  • Proprietary/Commercial licenses

Before Merging PR

  1. Update dependencies:

    cd backend && go mod tidy
    cd ../frontend && pnpm install
    
  2. Generate license reports:

    ./scripts/generate-licenses.sh
    

    This script automatically collects license information from all dependencies and saves them to the licenses/ directory. See licenses/README.md for details.

  3. Scan for issues:

    osv-scanner scan --experimental-licenses="MIT,Apache-2.0,BSD-2-Clause,BSD-3-Clause,ISC,MPL-2.0" backend
    osv-scanner scan --experimental-licenses="MIT,Apache-2.0,BSD-2-Clause,BSD-3-Clause,ISC,MPL-2.0" frontend
    

License Verification Tools

  • osv-scanner - Security and license scanning (recommended)
  • license-checker - npm license verification
  • go-licenses - Go module license extraction (install: go install github.com/google/go-licenses@latest)
  • go list - Go module inspection

For Docker Builds

License reports are automatically generated during Docker builds:

  • Backend reports in /opt/pentagi/licenses/backend/
    • dependencies.txt - List of all Go modules
    • licenses.csv - Detailed license information (generated by go-licenses)
  • Frontend reports in /opt/pentagi/licenses/frontend/
    • dependencies.json - Complete npm dependency tree
    • licenses.json - Detailed license data
    • licenses.csv - License summary

Testing Your Changes

Frontend changes are covered by unit tests (cd frontend && pnpm test) and end-to-end tests that run fully offline — no backend, keys, or secrets needed, including on fork PRs. See frontend/docs/e2e.md for the one-time bootstrap, running locally, and debugging a red CI run.

Questions?

Contact: info@pentagi.com or info@vxcontrol.com