@shiplightai/quality-tools
Advanced tools
Sorry, the diff of this file is too big to display
| { | ||
| "$schema": "https://json-schema.org/draft/2020-12/schema", | ||
| "$id": "https://shiplight.dev/schemas/quality/quality-observations.schema.json", | ||
| "title": "Quality Observations", | ||
| "type": "object", | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "schema_version", | ||
| "revision", | ||
| "observed_at", | ||
| "observations" | ||
| ], | ||
| "properties": { | ||
| "schema_version": { | ||
| "const": 1 | ||
| }, | ||
| "revision": { | ||
| "type": "object", | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "commit" | ||
| ], | ||
| "properties": { | ||
| "commit": { | ||
| "type": "string", | ||
| "minLength": 1 | ||
| }, | ||
| "branch": { | ||
| "type": "string", | ||
| "minLength": 1 | ||
| }, | ||
| "dirty": { | ||
| "type": "boolean" | ||
| } | ||
| } | ||
| }, | ||
| "run": { | ||
| "type": "object", | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "id" | ||
| ], | ||
| "properties": { | ||
| "id": { | ||
| "type": "string", | ||
| "minLength": 1 | ||
| }, | ||
| "url": { | ||
| "type": "string", | ||
| "minLength": 1 | ||
| } | ||
| } | ||
| }, | ||
| "observed_at": { | ||
| "type": "string", | ||
| "format": "date-time" | ||
| }, | ||
| "observations": { | ||
| "type": "array", | ||
| "minItems": 1, | ||
| "uniqueItems": true, | ||
| "x-unique-by": [ | ||
| "path", | ||
| "test_case" | ||
| ], | ||
| "items": { | ||
| "type": "object", | ||
| "additionalProperties": false, | ||
| "required": [ | ||
| "path", | ||
| "status" | ||
| ], | ||
| "properties": { | ||
| "path": { | ||
| "type": "string", | ||
| "minLength": 1 | ||
| }, | ||
| "test_case": { | ||
| "type": "string", | ||
| "minLength": 1 | ||
| }, | ||
| "status": { | ||
| "enum": [ | ||
| "pass", | ||
| "fail", | ||
| "error", | ||
| "skipped" | ||
| ] | ||
| }, | ||
| "observed_at": { | ||
| "type": "string", | ||
| "format": "date-time" | ||
| }, | ||
| "note": { | ||
| "type": "string", | ||
| "minLength": 1 | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } | ||
| } |
+1
-1
@@ -1,2 +0,2 @@ | ||
| export { BuildRecommendationExportInput, FixPromptRecord, GenerateFixPromptsInput, GenerateFixPromptsResult, RankedRecommendationRecord, RecommendationExportBuildResult, RecommendationExportFile, RecommendationFixPromptRecord, RecommendationProfileRecord, RecommendationScope, buildRecommendationExport, collectFixPrompts, fixPromptsOutputPath, generateFixPrompts, recommendationExportOutputPath, renderFixPromptsMarkdown } from '@shiplightai/quality-core'; | ||
| export { BuildRecommendationExportInput, FixPromptRecord, GenerateFixPromptsInput, GenerateFixPromptsResult, QUALITY_OBSERVATION_SCHEMA_VERSION, QualityObservationManifest, QualityObservationManifestParseResult, QualityObservationManifestRecord, QualityObservationManifestRevision, QualityObservationManifestRun, RankedRecommendationRecord, RecommendationExportBuildResult, RecommendationExportFile, RecommendationFixPromptRecord, RecommendationProfileRecord, RecommendationScope, buildQualityObservationManifestJsonSchema, buildRecommendationExport, collectFixPrompts, fixPromptsOutputPath, generateFixPrompts, ingestObservationManifest, parseQualityObservationManifest, recommendationExportOutputPath, renderFixPromptsMarkdown, serializeQualityObservationManifest, serializeQualityObservationManifestJsonSchema } from '@shiplightai/quality-core'; | ||
| export { GAP_CATEGORIES, GapCategory, JsonSchema, ParsedQualityMap, QualityMapDiagnostic, QualityMapDocument, QualityMapSource, QualityMapValidationResult, buildQualityMapJsonSchema, parseQualityMap, parseQualityMaps, serializeQualityMapJsonSchema, validateQualityMap } from '@shiplightai/quality-map'; | ||
@@ -3,0 +3,0 @@ |
+13
-13
| { | ||
| "name": "@shiplightai/quality-tools", | ||
| "version": "0.2.0", | ||
| "version": "0.3.0", | ||
| "type": "module", | ||
| "description": "Repo-local quality evidence analysis and fix-prompt tools.", | ||
| "description": "Quality graph analysis and canonical workflow-observation tools.", | ||
| "license": "MIT", | ||
@@ -19,2 +19,3 @@ "main": "dist/index.js", | ||
| "./quality-map.schema.json": "./dist/quality-map.schema.json", | ||
| "./quality-observations.schema.json": "./dist/quality-observations.schema.json", | ||
| "./package.json": "./package.json" | ||
@@ -40,9 +41,2 @@ }, | ||
| }, | ||
| "scripts": { | ||
| "build": "tsup", | ||
| "check:size": "node scripts/check-package-size.mjs", | ||
| "clean": "rm -rf dist", | ||
| "prepublishOnly": "pnpm -w test && pnpm build && pnpm check:size", | ||
| "typecheck": "tsc -p tsconfig.json --noEmit" | ||
| }, | ||
| "dependencies": { | ||
@@ -54,8 +48,14 @@ "adm-zip": "0.5.16", | ||
| "devDependencies": { | ||
| "@shiplightai/quality-core": "workspace:*", | ||
| "@shiplightai/quality-map": "workspace:*", | ||
| "@types/node": "25.9.1", | ||
| "tsup": "8.3.5", | ||
| "typescript": "5.9.3" | ||
| "typescript": "5.9.3", | ||
| "@shiplightai/quality-core": "0.0.0", | ||
| "@shiplightai/quality-map": "0.0.0" | ||
| }, | ||
| "scripts": { | ||
| "build": "tsup", | ||
| "check:size": "node scripts/check-package-size.mjs", | ||
| "clean": "rm -rf dist", | ||
| "typecheck": "tsc -p tsconfig.json --noEmit" | ||
| } | ||
| } | ||
| } |
+61
-19
| # @shiplightai/quality-tools | ||
| Repo-local quality evidence tools for developers, CI runners, and coding | ||
| agents. | ||
| Tools for producing canonical workflow observations, assessing repository | ||
| quality graphs, and generating fix prompts. | ||
| ## Analyze Runtime Evidence | ||
| These examples require `@shiplightai/quality-tools` 0.3.0. Pin the interface so | ||
| an unpublished or stale `latest` tag cannot silently run 0.2.x: | ||
| ```bash | ||
| npx @shiplightai/quality-tools analyze \ | ||
| --project-path . \ | ||
| --observation-set release-workflows-runtime-review \ | ||
| --view web | ||
| npx --yes @shiplightai/quality-tools@^0.3.0 observations --help | ||
| ``` | ||
| Inside this source checkout, use | ||
| `pnpm exec tsx packages/quality-tools/src/cli.ts` in place of the pinned `npx` | ||
| prefix until 0.3.0 is published. | ||
| ## Produce workflow observations | ||
| Each selected workflow artifact contains a `quality-observations.json` file. | ||
| A workflow may publish several selected artifacts, all using this same | ||
| contract. Convert a native test report at the producer boundary: | ||
| ```bash | ||
| pnpm dlx @shiplightai/quality-tools analyze \ | ||
| npx --yes @shiplightai/quality-tools@^0.3.0 observations from-junit reports/junit.xml \ | ||
| --output quality-observations.json | ||
| ``` | ||
| ```bash | ||
| npx --yes @shiplightai/quality-tools@^0.3.0 observations from-playwright reports/playwright.json \ | ||
| --output quality-observations.json | ||
| ``` | ||
| `GITHUB_SHA`, `GITHUB_REF_NAME`, and `GITHUB_RUN_ID` supply workflow metadata | ||
| automatically. For a smoke or release gate: | ||
| ```bash | ||
| npx --yes @shiplightai/quality-tools@^0.3.0 observations record \ | ||
| --path .github/workflows/publish.yml \ | ||
| --test-case tarball-size \ | ||
| --status pass \ | ||
| --output quality-observations.json | ||
| ``` | ||
| Merge independently produced shards and validate before upload: | ||
| ```bash | ||
| npx --yes @shiplightai/quality-tools@^0.3.0 observations merge shard-*.json \ | ||
| --output quality-observations.json | ||
| npx --yes @shiplightai/quality-tools@^0.3.0 observations validate quality-observations.json | ||
| ``` | ||
| Print the canonical schema with: | ||
| ```bash | ||
| npx --yes @shiplightai/quality-tools@^0.3.0 observations schema | ||
| ``` | ||
| Observation sources only locate this canonical file. They do not select report | ||
| parsers. | ||
| ## Analyze runtime quality | ||
| ```bash | ||
| npx --yes @shiplightai/quality-tools@^0.3.0 analyze \ | ||
| --project-path . \ | ||
@@ -22,10 +70,10 @@ --observation-set release-workflows-runtime-review \ | ||
| The command scans the target repo, runs the selected observation set, applies the | ||
| optional saved QC view, and writes recommendation JSON under | ||
| The command scans the target repository, executes the selected observation set, | ||
| applies the optional saved view, and writes recommendation JSON under | ||
| `.quality/generated/recommendations/`. | ||
| ## Generate Fix Prompts | ||
| ## Generate fix prompts | ||
| ```bash | ||
| npx @shiplightai/quality-tools fix-prompts \ | ||
| npx --yes @shiplightai/quality-tools@^0.3.0 fix-prompts \ | ||
| --project-path . \ | ||
@@ -35,8 +83,2 @@ --output .quality/fix-prompts.md | ||
| Use `--format json` when another tool or agent should consume the output. | ||
| ## CI | ||
| Pin the package in the target repo and call `quality-tools analyze` from a CI | ||
| script. GitHub Actions observation sources read credentials from the process | ||
| environment; secret values are not printed. | ||
| Use `--format json` when another tool or agent consumes the output. |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
9
28.57%83
102.44%6
-25%149015
-41.25%1026
-22.39%