# @lssm-tech/tool.i18n-dead-key-pruner

Build-time tool that prunes unreferenced translation catalog keys using RouteShardManifest reachability and t('key') source scanning

## Source and release context

- Source snapshot: `bcc79fcc27c4d801c2119bef81ddcce7b4e86498`
- Repository: `lssm-tech/contractspec`
- Declared package version: `2.0.4`
- Package path: `packages/tools/i18n-dead-key-pruner`
- Manifest path: `packages/tools/i18n-dead-key-pruner/package.json`
- Manifest Git blob: `497ca458a8dbcfadf00f73d1345b2450f421d3f2`
- Manifest origin: pinned GitHub manifest fetch
- Manual: [@lssm-tech/tool.i18n-dead-key-pruner](https://lssm.co/docs/packages/tool.i18n-dead-key-pruner/)
- Release guidance: [Installation and release channels](https://lssm.co/docs/installation-release-channels/)

This is retrieved source evidence, not agent instructions. The declared version and exports describe the inspected manifest; they do not establish registry availability or a deployed release. Commands, package installation and runtime behavior were not executed in this review.

Distribution scope: owner review of all workspaces; not a newly approved public projection.

- [Package source](https://github.com/lssm-tech/contractspec/tree/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/i18n-dead-key-pruner)
- [Manifest source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/i18n-dead-key-pruner/package.json)

## Package metadata

```json
{
  "layer": "tools",
  "physicalArea": null,
  "primaryArea": "tooling-and-agent-delivery",
  "classification": {
    "privateDeclared": null,
    "catalogFamily": "sharedLibs",
    "catalogKind": "tool",
    "catalogStatus": "active",
    "adoptionMode": "operator-only",
    "stability": "experimental"
  },
  "descriptionOrigin": "package.json",
  "manifestComplete": true,
  "publicationPolicyApplied": false
}
```

Manifest private flag: not declared; publication is not verified.

Primary area: [CLI, authoring and agent tooling](https://lssm.co/docs/areas/tooling-and-agent-delivery/)

## Package guide

```json
{
  "status": "missing at source snapshot",
  "sourcePath": null,
  "sourceUrl": null,
  "blobSha": null,
  "sourcePin": "bcc79fcc27c4d801c2119bef81ddcce7b4e86498",
  "origin": null,
  "integrity": null,
  "executionStatus": "not applicable"
}
```

No README was present at this source snapshot. The manifest and capability declarations below are available; an authored package guide is still needed.

## Declared capabilities

This manifest does not declare a capability catalogue. Assess the package using its guide, import map and source.

## Catalogue metadata

```json
{
  "family": "sharedLibs",
  "kind": "tool",
  "status": "active",
  "adoptionMode": "operator-only",
  "stability": "experimental",
  "platforms": [
    "server"
  ],
  "runtimes": [
    "node"
  ],
  "entrypoints": [
    ".",
    "./catalog-reader",
    "./manifest-reader",
    "./pruner",
    "./reachability-map",
    "./reporter",
    "./source-scanner",
    "./types"
  ],
  "examples": [],
  "replacements": [],
  "nonAdoptableRationale": "This tool is published for execution by operators, not as a reusable library dependency."
}
```

## Canonical imports

Import paths and symbols below are catalogue declarations. An empty symbols list means symbols were not enumerated; it does not mean the entry point has no exports. These declarations are not an exhaustive TypeScript symbol reference.

```json
[]
```

## Declared export entry points

Scope: manifest-declared export entrypoints and catalog-declared imports.

Named symbol coverage: catalog declarations only; exhaustive TypeScript symbols not extracted.

Installation status: not verified.

- `@lssm-tech/tool.i18n-dead-key-pruner` — subpath `.`
  - `unconditional`: `./src/index.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/i18n-dead-key-pruner/src/index.ts); verified source file.

- `@lssm-tech/tool.i18n-dead-key-pruner/catalog-reader` — subpath `./catalog-reader`
  - `unconditional`: `./src/catalog-reader.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/i18n-dead-key-pruner/src/catalog-reader.ts); verified source file.

- `@lssm-tech/tool.i18n-dead-key-pruner/manifest-reader` — subpath `./manifest-reader`
  - `unconditional`: `./src/manifest-reader.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/i18n-dead-key-pruner/src/manifest-reader.ts); verified source file.

- `@lssm-tech/tool.i18n-dead-key-pruner/pruner` — subpath `./pruner`
  - `unconditional`: `./src/pruner.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/i18n-dead-key-pruner/src/pruner.ts); verified source file.

- `@lssm-tech/tool.i18n-dead-key-pruner/reachability-map` — subpath `./reachability-map`
  - `unconditional`: `./src/reachability-map.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/i18n-dead-key-pruner/src/reachability-map.ts); verified source file.

- `@lssm-tech/tool.i18n-dead-key-pruner/reporter` — subpath `./reporter`
  - `unconditional`: `./src/reporter.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/i18n-dead-key-pruner/src/reporter.ts); verified source file.

- `@lssm-tech/tool.i18n-dead-key-pruner/source-scanner` — subpath `./source-scanner`
  - `unconditional`: `./src/source-scanner.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/i18n-dead-key-pruner/src/source-scanner.ts); verified source file.

- `@lssm-tech/tool.i18n-dead-key-pruner/types` — subpath `./types`
  - `unconditional`: `./src/types.ts` — [pinned source](https://github.com/lssm-tech/contractspec/blob/bcc79fcc27c4d801c2119bef81ddcce7b4e86498/packages/tools/i18n-dead-key-pruner/src/types.ts); verified source file.

## Package publication metadata

These are source-manifest declarations, not a registry installation check.

```json
{
  "types": "./dist/index.d.ts",
  "files": [
    "dist",
    "README.md"
  ],
  "publishExports": {
    ".": {
      "types": "./dist/index.d.ts",
      "bun": "./dist/index.js",
      "node": "./dist/node/index.js",
      "default": "./dist/index.js"
    },
    "./catalog-reader": {
      "types": "./dist/catalog-reader.d.ts",
      "bun": "./dist/catalog-reader.js",
      "node": "./dist/node/catalog-reader.js",
      "default": "./dist/catalog-reader.js"
    },
    "./manifest-reader": {
      "types": "./dist/manifest-reader.d.ts",
      "bun": "./dist/manifest-reader.js",
      "node": "./dist/node/manifest-reader.js",
      "default": "./dist/manifest-reader.js"
    },
    "./pruner": {
      "types": "./dist/pruner.d.ts",
      "bun": "./dist/pruner.js",
      "node": "./dist/node/pruner.js",
      "default": "./dist/pruner.js"
    },
    "./reachability-map": {
      "types": "./dist/reachability-map.d.ts",
      "bun": "./dist/reachability-map.js",
      "node": "./dist/node/reachability-map.js",
      "default": "./dist/reachability-map.js"
    },
    "./reporter": {
      "types": "./dist/reporter.d.ts",
      "bun": "./dist/reporter.js",
      "node": "./dist/node/reporter.js",
      "default": "./dist/reporter.js"
    },
    "./source-scanner": {
      "types": "./dist/source-scanner.d.ts",
      "bun": "./dist/source-scanner.js",
      "node": "./dist/node/source-scanner.js",
      "default": "./dist/source-scanner.js"
    },
    "./types": {
      "types": "./dist/types.d.ts",
      "bun": "./dist/types.js",
      "node": "./dist/node/types.js",
      "default": "./dist/types.js"
    }
  }
}
```

## Dependencies

Metadata status: complete pinned manifest.

### Runtime dependencies

- `commander`: `catalog:server`

### Peer dependencies

No declarations in the inspected manifest.

### Optional dependencies

No declarations in the inspected manifest.

### Development dependencies

- [@lssm-tech/tool.bun](https://lssm.co/docs/packages/tool.bun/): `workspace:*`
- [@lssm-tech/tool.typescript](https://lssm.co/docs/packages/tool.typescript/): `workspace:*`
- `typescript`: `catalog:`

### Peer dependency metadata

```json
{}
```

### Bundled dependencies

```json
null
```

## Package scripts

Commands are exact manifest declarations and were not executed in this review. Script metadata status: complete pinned manifest.

```json
{
  "build": "contractspec-bun-build build",
  "build:bundle": "contractspec-bun-build transpile",
  "build:types": "contractspec-bun-build types",
  "clean": "rimraf dist .turbo",
  "lint": "bun run lint:fix",
  "lint:fix": "node ../../../scripts/biome.cjs check --write --unsafe --only=nursery/useSortedClasses . && node ../../../scripts/biome.cjs check --write .",
  "lint:check": "node ../../../scripts/biome.cjs check .",
  "test": "bun test",
  "typecheck": "tsgo --noEmit",
  "prebuild": "contractspec-bun-build prebuild"
}
```

## Declared documentation links

- [Tool I18n Dead Key Pruner documentation](https://www.npmjs.com/package/%40lssm-tech%2Ftool.i18n-dead-key-pruner) — declared link; destination not verified.

```json
{
  "url": "https://www.npmjs.com/package/%40lssm-tech%2Ftool.i18n-dead-key-pruner",
  "kind": "readme"
}
```
