# Platform Packaging Decisions

Date: 2026-05-23

## Chosen variation

**Variation A — Toolkit extension**

- `@ai-eng-system/toolkit` ships `.claude-plugin/`, `.opencode/`, `.cursor-plugin/`, `.gemini/`, `.pi/`, and `plugins/ai-eng-*`
- Pi distribution is build output at `dist/.pi/` synced into toolkit (no separate `@ai-eng-system/pi` package)
- No separate `@ai-eng-system/cursor` or `@ai-eng-system/gemini` packages in this iteration

## Import model

Canonical merge into `skills/` and `content/agents/` with dedup. Source: [cursor/plugins](https://github.com/cursor/plugins) (MIT).

Import script: `scripts/import-cursor-plugins.ts`  
Attribution log: [docs/attribution/cursor-plugins.md](./attribution/cursor-plugins.md)

Merged upstream content is woven into canonical skills and agents under native section headings (no `-v2` suffixes, no `## Imported from ...` appendices).

## Dedup decisions

| Cursor skill | Action | Target |
|--------------|--------|--------|
| `deslop` | Merged | `text-cleanup` |
| `verify-this` | Merged | `verification-loop` |
| `fix-ci`, `loop-on-ci` | Merged | `ci-cd-and-automation` |
| `review-and-ship` | Merged | `shipping-and-launch` |
| `thermo-nuclear-code-quality-review` | Merged | `code-review-and-quality` |
| `ralph-loop`, `ralph-loop-help`, `cancel-ralph` | Merged | `workflow/ralph-wiggum` |
| `continual-learning` | Merged | `continuous-learning` |
| `create-plugin-scaffold`, `review-plugin-submission` | Merged | `plugin-dev` |
| `pr-review-canvas` (standalone plugin) | Skipped | Already imported from `cursor-team-kit` |

## Imported as new canonical skills

From `cursor-team-kit`: `control-cli`, `control-ui`, `check-compiler-errors`, `fix-merge-conflicts`, `get-pr-comments`, `make-pr-easy-to-review`, `new-branch-and-pr`, `pr-review-canvas`, `run-smoke-tests`, `weekly-review`, `what-did-i-get-done`, `workflow-from-chats`

From other plugins: `check-agent-compatibility`, `cli-for-agents`, `docs-canvas`, `cursor-sdk`, `orchestrate`, `create-learning-path`, `run-learning-retrospective`

## Agent dedup decisions

| Cursor agent | Action | Target |
|--------------|--------|--------|
| `thermo-nuclear-code-quality-review` | Merged | `code-reviewer` |
| `plugin-architect` | Merged | `plugin-validator` |

## Imported as new canonical agents

From `cursor-team-kit`: `ci-watcher`

From `continual-learning`: `agents-memory-updater`

From `agent-compatibility`: `compatibility-scan-review`, `startup-review`, `validation-review`, `docs-reliability-review`

From `pstack`: `poteto-agent`

## Rules mapping

- Cursor `.mdc` rules from `cursor-team-kit` copied to canonical `rules/cursor/`
- Build copies `rules/cursor/` → `dist/.cursor-plugin/rules/`
- Language rule packs under `rules/common/`, `rules/typescript/`, etc. remain separate; not copied to Cursor output

## Platform-specific filters

| Platform | Filter |
|----------|--------|
| Pi | Pi context preamble appended to skills (existing behavior) |
| OpenCode | Agent frontmatter transformed; skills copied as-is |
| Claude Code | Full skills + commands + agents + hooks |
| Cursor | Skills + agents + `rules/cursor/` only |
| Gemini | Skills + commands only |

## packages/core

Documented as legacy parallel copy in [packages/core/GENERATED.md](../packages/core/GENERATED.md). Root `build.ts` is the authoritative generator.

## Pi package consolidation (2026-05-23)

The standalone `@ai-eng-system/pi` package was removed. Pi assets are:

1. Generated by `buildPi()` → `dist/.pi/`
2. Synced by `build-toolkit.ts` → `packages/toolkit/.pi/`
3. Consumed via `pi install npm:@ai-eng-system/toolkit` using the toolkit `pi` manifest

Migration: replace `pi install npm:@ai-eng-system/pi` with `pi install npm:@ai-eng-system/toolkit`.
## Runtime source (2026-06-10)

Shipped CLI/runtime code is canonical in `packages/cli/src/`. Root `src/` is a legacy duplicate slated for removal. See [2026-06-10-source-tree-and-ci-policy.md](./2026-06-10-source-tree-and-ci-policy.md).

