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

关于此技能

适用场景: Ideal for AI agents that need cli パッケージ ビルド・テンプレート仕様リファレンス. 本地化技能摘要: cli-package-specs helps AI agents handle repository-specific developer workflows with documented implementation details.

功能特性

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

# 核心主题

einja-inc einja-inc
[1]
[0]
更新于: 4/17/2026

技能概览

先看适用场景、限制条件和安装路径,再决定是否继续深入。

适用场景: Ideal for AI agents that need cli パッケージ ビルド・テンプレート仕様リファレンス. 本地化技能摘要: cli-package-specs helps AI agents handle repository-specific developer workflows with documented implementation details.

核心价值

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

适用 Agent 类型

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

赋予的主要能力 · cli-package-specs

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

! 使用限制与门槛

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

关于来源内容

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

实验室 Demo

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

cli-package-specs 是什么?

适用场景: Ideal for AI agents that need cli パッケージ ビルド・テンプレート仕様リファレンス. 本地化技能摘要: cli-package-specs helps AI agents handle repository-specific developer workflows with documented implementation details.

如何安装 cli-package-specs?

运行命令:npx killer-skills add einja-inc/einja-management-template/cli-package-specs。支持 Cursor、Windsurf、VS Code、Claude Code 等 19+ IDE/Agent。

cli-package-specs 适用于哪些场景?

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

cli-package-specs 支持哪些 IDE 或 Agent?

该技能兼容 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。可使用 Killer-Skills CLI 一条命令通用安装。

cli-package-specs 有哪些限制?

限制说明: Requires repository-specific context from the skill documentation;限制说明: Works best when the underlying tools and dependencies are already configured。

安装步骤

  1. 1. 打开终端

    在你的项目目录中打开终端或命令行。

  2. 2. 执行安装命令

    运行:npx killer-skills add einja-inc/einja-management-template/cli-package-specs。CLI 会自动识别 IDE 或 AI Agent 并完成配置。

  3. 3. 开始使用技能

    cli-package-specs 已启用,可立即在当前项目中调用。

! 来源说明

此页面仍可作为安装与查阅参考。继续使用前,请结合上方适用场景、限制条件和上游仓库说明一起判断。

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

安装 cli-package-specs,这是一款面向AI agent workflows and automation的 AI Agent Skill。查看功能、使用场景、限制条件与安装命令。

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)で分離

相关技能

寻找 cli-package-specs 的替代方案 (Alternative) 或可搭配使用的同类 community Skill?探索以下相关开源技能。

查看全部

openclaw-release-maintainer

Logo of openclaw
openclaw

本地化技能摘要: 🦞 # 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.

333.8k
0
AI

widget-generator

Logo of f
f

本地化技能摘要: 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 Windsurf

149.6k
0
AI

flags

Logo of vercel
vercel

本地化技能摘要: 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
浏览器

pr-review

Logo of pytorch
pytorch

本地化技能摘要: 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
开发者工具