cli-package-specs — for Claude Code cli-package-specs, einja-management-template, community, for Claude Code, ide skills, einja init, einja sync, **入力**: プロジェクトルートの, **出力**, **処理**: 1

v1.0.0

À propos de ce Skill

Scenario recommande : Ideal for AI agents that need cli パッケージ ビルド・テンプレート仕様リファレンス. Resume localise : cli-package-specs helps AI agents handle repository-specific developer workflows with documented implementation details.

Fonctionnalités

CLI パッケージ ビルド・テンプレート仕様リファレンス
このSkillは、2つのCLIパッケージのビルドパイプライン・テンプレート仕様を集約したリファレンスです。
einja- プレフィックスを持たないため、presets/default/ にはコピーされません。
----------- ------
@einja-inc/dev-cli (packages/cli) 既存プロジェクトへの .claude/ 設定・docs/einja/ 同期。einja init / einja sync

# Sujets clés

einja-inc einja-inc
[1]
[0]
Mis à jour: 4/17/2026

Skill Overview

Start with fit, limitations, and setup before diving into the repository.

Scenario recommande : Ideal for AI agents that need cli パッケージ ビルド・テンプレート仕様リファレンス. Resume localise : cli-package-specs helps AI agents handle repository-specific developer workflows with documented implementation details.

Pourquoi utiliser cette compétence

Recommandation : cli-package-specs helps agents cli パッケージ ビルド・テンプレート仕様リファレンス. cli-package-specs helps AI agents handle repository-specific developer workflows with documented implementation details.

Meilleur pour

Scenario recommande : Ideal for AI agents that need cli パッケージ ビルド・テンプレート仕様リファレンス.

Cas d'utilisation exploitables for cli-package-specs

Cas d'usage : Applying CLI パッケージ ビルド・テンプレート仕様リファレンス
Cas d'usage : Applying このSkillは、2つのCLIパッケージのビルドパイプライン・テンプレート仕様を集約したリファレンスです。
Cas d'usage : Applying einja- プレフィックスを持たないため、presets/default/ にはコピーされません。

! Sécurité et Limitations

  • Limitation : Requires repository-specific context from the skill documentation
  • Limitation : Works best when the underlying tools and dependencies are already configured

About The Source

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Démo Labs

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ et étapes d’installation

These questions and steps mirror the structured data on this page for better search understanding.

? Questions fréquentes

Qu’est-ce que cli-package-specs ?

Scenario recommande : Ideal for AI agents that need cli パッケージ ビルド・テンプレート仕様リファレンス. Resume localise : cli-package-specs helps AI agents handle repository-specific developer workflows with documented implementation details.

Comment installer cli-package-specs ?

Exécutez la commande : npx killer-skills add einja-inc/einja-management-template/cli-package-specs. Elle fonctionne avec Cursor, Windsurf, VS Code, Claude Code et plus de 19 autres IDE.

Quels sont les cas d’usage de cli-package-specs ?

Les principaux cas d’usage incluent : Cas d'usage : Applying CLI パッケージ ビルド・テンプレート仕様リファレンス, Cas d'usage : Applying このSkillは、2つのCLIパッケージのビルドパイプライン・テンプレート仕様を集約したリファレンスです。, Cas d'usage : Applying einja- プレフィックスを持たないため、presets/default/ にはコピーされません。.

Quels IDE sont compatibles avec cli-package-specs ?

Cette skill est compatible avec Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Utilisez la CLI Killer-Skills pour une installation unifiée.

Y a-t-il des limites pour cli-package-specs ?

Limitation : Requires repository-specific context from the skill documentation. Limitation : Works best when the underlying tools and dependencies are already configured.

Comment installer ce skill

  1. 1. Ouvrir le terminal

    Ouvrez le terminal ou la ligne de commande dans le dossier du projet.

  2. 2. Lancer la commande d’installation

    Exécutez : npx killer-skills add einja-inc/einja-management-template/cli-package-specs. La CLI détectera automatiquement votre IDE ou votre agent et configurera la skill.

  3. 3. Commencer à utiliser le skill

    Le skill est maintenant actif. Votre agent IA peut utiliser cli-package-specs immédiatement dans le projet.

! Source Notes

This page is still useful for installation and source reference. Before using it, compare the fit, limitations, and upstream repository notes above.

Upstream Repository Material

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Upstream Source

cli-package-specs

Install cli-package-specs, an AI agent skill for AI agent workflows and automation. Explore features, use cases, limitations, and setup guidance.

SKILL.md
Readonly
Upstream Repository Material
The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.
Upstream Source

CLI パッケージ ビルド・テンプレート仕様リファレンス

概要

このSkillは、2つのCLIパッケージのビルドパイプライン・テンプレート仕様を集約したリファレンスです。 einja- プレフィックスを持たないため、presets/default/ にはコピーされません。

パッケージ役割
@einja-inc/dev-cli (packages/cli)既存プロジェクトへの .claude/ 設定・docs/einja/ 同期。einja init / einja sync コマンドを提供
@einja-inc/create-app (packages/create-app)新規プロジェクトのスキャフォールディング。テンプレートからプロジェクト全体を生成

1. ビルドパイプライン

1.1 @einja-inc/dev-cli ビルド

packages/cli/package.json L21:

"prebuild": "node ./scripts/generate-template.mjs && node ./scripts/copy-presets.mjs"

Step 1: CLAUDE.md.template 生成

  • スクリプト: packages/cli/scripts/generate-template.mjs
  • 入力: プロジェクトルートの CLAUDE.md
  • 出力: packages/cli/presets/default/CLAUDE.md.template
  • 処理:
    1. @einja:excluded マーカー内を除去(L53-56)
    2. pnpm install 等のコマンドをプレースホルダー({{INSTALL_COMMAND}}等)に変換(L25-35, L62-69)

Step 2: プリセットファイルコピー + マーカーバリデーション

  • スクリプト: packages/cli/scripts/copy-presets.mjs
  • 処理順序:
    1. docs/einja/ 配下のマーカーバリデーション(L303-317)
    2. ディレクトリマッピングに基づくコピー(L47-122)
    3. 単一ファイルのコピー(L125-156)
    4. シンボリックリンク情報の symlinks.json 出力(L284-295)

1.2 @einja-inc/create-app テンプレート更新

  • スクリプト: scripts/_template-update.ts(ルート)
  • 出力先: packages/create-app/templates/default/
  • 処理:
    1. .templateignore でフィルタリング(L93-103)
    2. README.md@einja:excluded マーカー除去(L173-185)
    3. package.jsonname{{projectName}}description{{description}}(L108-131)
    4. tsconfig.json@repo/{{packageName}}/(L136-161)
    5. .ts/.tsx/.js/.jsx の import文 @repo/{{packageName}}/(L166-168)

1.3 @einja-inc/dev-cli プリセット更新(開発用)

  • スクリプト: scripts/_cli-template-update.ts
  • 実行: pnpm preset:updatepackages/cli/package.json L30)
  • 処理: FileCopier クラスを使用してプロジェクト原本をCLIプリセットにコピー

2. ファイルマッピング

2.1 @einja-inc/dev-cli コピー対象(copy-presets.mjs

ディレクトリマッピング(L47-122)

原本コピー先(presets/default/ 配下)備考
.claude/agents/einja/.claude/agents/einja/
.claude/skills/einja-*.claude/skills/einja-*/個別列挙(L62-101)
.claude/hooks/einja/.claude/hooks/einja/cleanParent: true(L107)
docs/einja/docs/einja/memory/, cli/ を除外(L114)
scripts/scripts/_ プレフィックスのファイルはスキップ(L247-249)

単一ファイルマッピング(L125-156)

原本コピー先必須
.claude/settings.json.claude/settings.jsonYes
.mcp.json.mcp.jsonNo
docs/einja/cli/preset.yamlpreset.yamlYes
.envrc.envrcYes
.vscode/settings.json.vscode/settings.jsonNo

特殊変換

原本コピー先変換内容
CLAUDE.mdCLAUDE.md.template@einja:excluded 除去 + プレースホルダー変換(generate-template.mjs

2.2 FileCopier クラスのマッピング(file-copier.ts

ファイル: packages/cli/src/lib/preset-update/file-copier.ts

FileCopiereinja sync / preset:update で使用される。copy-presets.mjs(prebuild)とは別のコピーロジック。

ディレクトリマッピング(L44-85):

sourcedestinationcategory
.claude/agents.claude/agents/einjaagents
.claude/skills.claude/skillsskills
.claude/hooks.claude/hookshooks
docs/einja/steeringdocs/einja/steeringdocs
docs/einja/templatesdocs/einja/templatesdocs
docs/einja/instructionsdocs/einja/instructionsdocs
docs/einja/exampledocs/einja/exampledocs

単一ファイルマッピング(L92-104):

sourcedestinationcategory
.envrc.envrcenv
.vscode/settings.json.vscode/settings.jsontools
package.json(ルート)package.jsonroot-config

3. コピー対象フィルタ

3.1 Skills のプレフィックスフィルタ

ファイル: packages/cli/src/lib/preset-update/file-copier.ts L194-195

typescript
1// skillsカテゴリの場合、einja-/_einja-プレフィックスでフィルタリング 2const prefixFilter = mapping.category === "skills" ? ["einja-", "_einja-"] : undefined;

.claude/skills/ 配下のトップレベルディレクトリのうち、einja- または _einja- で始まるものが配布対象。

  • 配布される: einja-task-commit/, einja-skill-creator/, _einja-project-overview/
  • 配布されない: cli-package-specs/(このSkill自体)、その他プレフィックスなしのSkill

copy-presets.mjs ではディレクトリを動的スキャンし、einja-* / _einja-* パターンにマッチするものを個別エントリとしてコピーする。

3.2 _ プレフィックスフィルタ

  • copy-presets.mjs L247-249: _ で始まるファイル名はスキップ
  • file-copier.ts L291: _ で始まるファイル名はスキップ

3.3 隠しファイルフィルタ(file-copier.ts のみ)

  • L303: . で始まるファイル名はスキップ(単一ファイルマッピングで明示されたものを除く)

4. マーカー仕様

詳細仕様書: packages/cli/docs/MARKER_SPECIFICATION.md 実装: packages/cli/src/lib/sync/marker-processor.ts

4.1 @einja:excluded

テンプレート生成時にセクション全体を除去するマーカー。

markdown
1<!-- @einja:excluded:start --> 2このセクション内容はテンプレートには含まれない 3<!-- @einja:excluded:end -->
  • generate-template.mjs L53-56: CLAUDE.md → CLAUDE.md.template 変換時に除去
  • template-update.ts L56-67: @einja-inc/create-app テンプレート(README.md等)で除去
  • _template-update.ts L173-185: 同上

4.2 @einja:managed

einja sync 実行時に常にテンプレート版で上書きされるセクション。

markdown
1<!-- @einja:managed:start --> 2共通ルール(sync時に最新版で上書き) 3<!-- @einja:managed:end -->
  • ID属性はオプション: <!-- @einja:managed:start id="section-a" -->
  • marker-processor.ts L16-17: パース用正規表現

4.3 @einja:project-private

einja sync 実行時に初回のみ追加、以降はユーザー編集を保持するセクション。

markdown
1<!-- @einja:project-private:start id="commit-rules-project" --> 2プロジェクト固有の設定(ユーザーが自由に編集) 3<!-- @einja:project-private:end -->
  • ID属性は必須marker-processor.ts L174-181 でバリデーション)
  • レガシー @einja:seed マーカーとの後方互換あり(L44-53, L303-307)

4.4 マーカーバリデーション

packages/cli/scripts/validate-markers.mjs がビルド時(copy-presets.mjs L303-317 から呼び出し)に実行。

チェック項目エラータイプ
start/end ペア一致unpaired_start / unpaired_end
ネスト禁止nested
project-private に ID 必須project_private_without_id
ID 重複禁止duplicate_id

4.5 JSON マージ仕様

実装: packages/cli/src/lib/sync/json-processor.ts 設定: .einja-sync.jsonjsonPaths フィールド

マージモード(ブラックリスト方式)

モード動作用途
managedテンプレート値で強制上書きテンプレートが完全管理するセクション
project-private完全除外(テンプレートから追加・更新しない)プロジェクト固有のセクション
デフォルトbase/local/templateの3方向マージ上記以外の全パス

ネスト指定

パスはドット区切りでネスト指定可能。deepMergeWithPaths の再帰により 各レベルで jsonPaths チェックが行われる。

例: "project-private": { "package.json": ["devDependencies.@types/node"] } → devDependencies 全体は3方向マージ、@types/node のみ除外

設定例

jsonPaths:
  managed: { ".claude/settings.json": ["plansDirectory"] }
  project-private: { "package.json": ["name", "version", "private", "workspaces"] }

→ plansDirectory はテンプレート強制上書き → name, version 等は完全除外 → scripts, devDependencies 等は3方向マージ

base スナップショット

3方向マージには前回sync時のテンプレート内容(base)が必要。 .einja-sync.json の各ファイルメタデータに baseContent として保存。 初回sync(base なし)はローカル優先 + テンプレート新規キーのみ追加。

コンフリクト

両方が同じキーを異なる値に変更した場合:

  • ローカル値を保持(安全側)
  • コンソールに警告出力
  • mergeJson の戻り値 conflicts 配列で呼び出し元にも通知

5. post-setup.ts 処理フロー

ファイル: packages/create-app/src/generators/post-setup.ts

@einja-inc/create-app でプロジェクト生成後に実行されるセットアップフロー。

Step処理行番号
0初回セットアップ(scripts/init.sh 実行: mise/Node.js/pnpm/direnv)L57-64
1依存関係インストール(pnpm install) + Prismaクライアント生成(pnpm db:generateL68-87
2秘密鍵の自動ローテーション(pnpm env:rotate-secrets --all --non-interactiveL90-99
3Git初期化(git initgit add .git commitL102-113
4@einja-inc/dev-cli 初期化(npx @einja-inc/dev-cli@latest init --force --no-backupconfig.setupEinjaCli が true の場合のみ)L116-125
5完了メッセージ表示L128

6. setup-dev.ts 処理フロー

ファイル: scripts/setup-dev.ts

既存プロジェクトの開発環境セットアップスクリプト。

Step処理行番号
1mise インストール確認L158-191
2mise シェル設定(eval "$(mise activate zsh)"L194-213
3Node.js / pnpm インストール(mise installL216-249
4direnv インストール確認(macOS: brew install direnvL324-355
5シェル設定(direnv hook を rc ファイルに追加)L358-376
6dotenvx インストールL379-419
7.env ファイル作成(.env.local から復号、worktree 対応)L422-517
8.env.personal 作成 + GITHUB_TOKEN 対話設定L519-585
9direnv 有効化(direnv allowL588-594
10データベース起動(docker-compose up -d postgresL597-625
11データベース初期化(pnpm db:generate + pnpm db:pushL610-613

worktree 環境では .env.keys をメインリポジトリから自動コピーする機能あり(L45-67, L73-90)。


7. sync カテゴリ仕様

7.1 dev-cli sync カテゴリ

実装: packages/cli/src/lib/sync/file-filter.ts

カテゴリ対象ファイル特別処理
agents.claude/agents/einja/**-
skills.claude/skills/{einja-,_einja-}*/**プレフィックスフィルタ
hooks.claude/hooks/**-
docsdocs/einja/**-
scriptsscripts/**-
env.envrc単一ファイル
tools.vscode/settings.json単一ファイル
claude-mdCLAUDE.md, AGENTS.mdCLAUDE.md.templateからプレースホルダー展開
root-configpackage.json, .mcp.jsonJSONマージ
claude-config.claude/settings.jsonJSONマージ

バリデーション: packages/cli/src/lib/sync/category-validator.ts

7.2 @einja-inc/create-app sync カテゴリ

実装: packages/create-app/src/generators/sync.ts

カテゴリ対象パターン
env.env*, .envrc, mise.toml, .node-version
toolsbiome.json, .biomeignore, .vibe-kanban.json, .prettierrc*, .editorconfig
git.gitignore, .gitattributes
git-hooks.husky/**, .lintstagedrc.js
github.github/workflows/**, .github/actions/**, .github/dependabot.yml
dockerDockerfile*, docker-compose*.yml, .dockerignore
monorepoturbo.json, pnpm-workspace.yaml
root-configpackage.json, tsconfig.json, vitest.config.ts, postcss.config.cjs, next.config.ts, components.json, worktree.config.json
scriptsscripts/**
appsapps/**
packagespackages/**
docsREADME.md, docs/**

プロンプト: packages/create-app/src/prompts/sync.ts


8. 管轄境界(dev-cli vs @einja-inc/create-app)

8.1 ファイル管轄テーブル

ファイル/ディレクトリ管轄CLIsync カテゴリ
.claude/agents/einja/dev-cliagents
.claude/skills/einja-*/dev-cliskills
.claude/hooks/einja/dev-clihooks
.claude/settings.jsondev-cliclaude-config
docs/einja/dev-clidocs
scripts/dev-cliscripts
CLAUDE.mddev-cliclaude-md
AGENTS.mddev-cliclaude-md
.envrcdev-clienv
.vscode/settings.jsondev-clitools
package.json両方(管理パスが異なる)dev-cli: root-config / @einja-inc/create-app: root-config
.mcp.jsondev-cliroot-config
biome.json, .biomeignore@einja-inc/create-apptools
.gitignore, .gitattributes@einja-inc/create-appgit
.husky/, .lintstagedrc.js@einja-inc/create-appgit-hooks
turbo.json, pnpm-workspace.yaml@einja-inc/create-appmonorepo
tsconfig.json, vitest.config.ts@einja-inc/create-approot-config
Dockerfile*, docker-compose*.yml@einja-inc/create-appdocker
.github/workflows/@einja-inc/create-appgithub
apps/**, packages/**@einja-inc/create-appapps / packages

8.2 新規ファイル追加時の判断基準

  • Claude Code関連(.claude/, CLAUDE.md, AGENTS.md, docs/einja/)→ dev-cli
  • プロジェクト基盤(ビルドツール、CI/CD、Docker、lint、テスト設定)→ @einja-inc/create-app
  • 両方が関わる(package.json)→ 管理パス(jsonPaths)で分離

Compétences associées

Looking for an alternative to cli-package-specs or another community skill for your workflow? Explore these related open-source skills.

Voir tout

openclaw-release-maintainer

Logo of openclaw
openclaw

Resume localise : 🦞 # OpenClaw Release Maintainer Use this skill for release and publish-time workflow. It covers ai, assistant, crustacean workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

widget-generator

Logo of f
f

Resume localise : Generate customizable widget plugins for the prompts.chat feed system # Widget Generator Skill This skill guides creation of widget plugins for prompts.chat . It covers ai, artificial-intelligence, awesome-list workflows. This AI agent skill supports Claude Code, Cursor, and

flags

Logo of vercel
vercel

Resume localise : The React Framework # Feature Flags Use this skill when adding or changing framework feature flags in Next.js internals. It covers blog, browser, compiler workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

138.4k
0
Navigateur

pr-review

Logo of pytorch
pytorch

Resume localise : Usage Modes No Argument If the user invokes /pr-review with no arguments, do not perform a review . It covers autograd, deep-learning, gpu workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

98.6k
0
Développeur