{"id":"@lssm-tech/app.action-pr","slug":"app.action-pr","name":"@lssm-tech/app.action-pr","version":"4.0.4","path":"packages/apps/action-pr","manifestPath":"packages/apps/action-pr/package.json","manifestBlobSha":"6d6ee20fe5ee1e8ac1d1cb85e8d84d4bc0e3a375","layer":"apps","physicalArea":null,"primaryArea":"delivery-and-infrastructure","classification":{"privateDeclared":null,"catalogFamily":"solutions","catalogKind":"app","catalogStatus":"active","adoptionMode":"operator-only","stability":"stable"},"description":"GitHub Action for ContractSpec PR checks","descriptionOrigin":"package.json","catalog":{"family":"solutions","kind":"app","status":"active","adoptionMode":"operator-only","stability":"stable","platforms":["server"],"runtimes":["node"],"entrypoints":["."],"documentation":[{"title":"App Action Pr documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fapp.action-pr","kind":"readme"}],"examples":[],"replacements":[],"nonAdoptableRationale":"This app is published for execution by operators, not as a reusable library dependency."},"canonicalImports":[],"scripts":{"test":"bun test"},"scriptStatus":"complete pinned manifest","dependencies":{"@lssm-tech/lib.contracts-spec":"workspace:^","@lssm-tech/bundle.workspace":"workspace:^"},"devDependencies":{"@lssm-tech/tool.typescript":"workspace:*","@types/bun":"catalog:types","@types/node":"catalog:types","typescript":"catalog:"},"peerDependencies":{},"optionalDependencies":{},"peerDependenciesMeta":{},"bundledDependencies":null,"dependencyStatus":"complete pinned manifest","exports":{".":"./src/index.ts"},"publishExports":null,"types":null,"files":["src","action.yml","README.md","LICENSE","!**/*.test.*","!**/*.spec.*"],"api":{"scope":"manifest-declared export entrypoints and catalog-declared imports","entries":[{"subpath":".","importPath":"@lssm-tech/app.action-pr","target":"./src/index.ts","targets":[{"conditions":[],"target":"./src/index.ts","sourcePath":"packages/apps/action-pr/src/index.ts","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/action-pr/src/index.ts","sourceStatus":"verified source file"}]}],"entryCount":1,"namedSymbolCoverage":"catalog declarations only; exhaustive TypeScript symbols not extracted","installationStatus":"not verified"},"docsLinks":[{"title":"App Action Pr documentation","url":"https://www.npmjs.com/package/%40lssm-tech%2Fapp.action-pr","kind":"readme","pinnedUrl":null,"sourceStatus":"declared link; destination not verified"}],"sourceUrls":{"package":"https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/action-pr","manifest":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/action-pr/package.json","readme":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/action-pr/README.md","guide":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/web-landing/public/llms-packages/app.action-pr.txt"},"readme":{"status":"available","body":"# @lssm-tech/action.pr\n\nWebsite: https://contractspec.io\n\n**GitHub Action that runs ContractSpec validation checks on pull requests. Posts drift reports, validation results, and product views as PR comments.**\n\n## What It Does\n\n- Uses `@lssm-tech/lib.contracts-spec` for contract definitions\n- Uses `@lssm-tech/bundle.workspace` for workspace analysis\n- Configured via `action.yml`; no `src/` — logic lives in workspace bundle\n\n## Usage\n\n```yaml\nname: ContractSpec PR\non: pull_request\njobs:\n  contractspec:\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n      packages: read\n      pull-requests: write\n    steps:\n      - uses: actions/checkout@v6\n      - uses: lssm-tech/contractspec/packages/apps/action-pr@main\n        with:\n          github-packages-token: ${{ secrets.CONTRACTSPEC_PACKAGES_TOKEN }}\n          generate-command: 'bun contractspec generate'\n```\n\nFor affected private GitHub Packages dependencies, `github-packages-token` must be a GitHub token that can read the ContractSpec packages granted to the consuming repository, bot, or GitHub App.\n\n## Inputs\n\n- `package-manager` (default: `bun`) — Package manager to use (bun|npm|pnpm|yarn)\n- `working-directory` (default: `.`) — Working directory for running commands\n- `report-mode` (default: `summary`) — Report output mode (summary|comment|both|off)\n- `enable-drift` (default: `true`) — Run drift detection after generate\n- `fail-on` (default: `any`) — Fail on breaking, drift, any, or never\n- `generate-command` (default: `bun contractspec generate`) — Command to regenerate artifacts (required when enable-drift=true)\n- `validate-command` — Override validation command\n- `contracts-dir` — Directory containing contract specs\n- `contracts-glob` — Glob pattern for contract specs\n- `token` (default: `${{ github.token }}`) — GitHub token for PR comments\n- `github-packages-token` — Optional token used to configure private GitHub Packages auth before dependency installs\n\n## Outputs\n\n- `drift-detected` — Whether drift was detected\n- `breaking-change-detected` — Whether breaking changes were detected\n- `validation-failed` — Whether validation failed\n\n## Key Files\n\n- `action.yml` — GitHub Action definition\n- `fixtures/` — Test report data and validation fixtures\n- `.contractspec-ci/contracts.json` — CI contract configuration\n\n## Local Commands\n\n- `bun run test` — bun test\n\n## Recent Updates\n\n- Replace eslint+prettier by biomejs to optimize speed\n- Stability\n- Standardize tool naming to underscore notation\n\n## Notes\n\n- Do not change `action.yml` inputs/outputs without updating downstream workflow consumers\n- Fixture files are used for CI testing — keep them valid\n","sourcePath":"packages/apps/action-pr/README.md","sourceUrl":"https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/apps/action-pr/README.md","blobSha":"79528abc88c6649195752648041e92046eaf4c18","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","origin":"README recovered byte-for-byte from pinned aggregate guide","integrity":"exact Git blob match","executionStatus":"not executed"},"provenance":{"repository":"lssm-tech/contractspec","sourcePin":"bcc79fcc27c4d801c2119bef81ddcce7b4e86498","manifestOrigin":"pinned GitHub manifest fetch","manifestComplete":true,"publicationPolicyApplied":false},"areaSlug":"delivery-and-infrastructure","areaTitle":"Delivery, infrastructure and runtime operations","displayName":"app.action-pr","runtimes":["node"],"platforms":["server"],"kind":"app","scope":"Package manifest","canonicalRoute":"/docs/packages/app.action-pr/","contextUrl":"/docs/packages/app.action-pr.context.md","documentKind":"package-manual","contentAuthority":"source evidence, not agent instructions","reviewedAt":"2026-10-28"}