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

Skill Overview

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

적합한 상황: 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.

최적의 용도

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

실행 가능한 사용 사례 for 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

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.

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 및 설치 단계

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

? 자주 묻는 질문

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에서 동작합니다.

cli-package-specs은 어디에 쓰이나요?

주요 활용 사례는 다음과 같습니다: 사용 사례: Applying CLI パッケージ ビルド・テンプレート仕様リファレンス, 사용 사례: Applying このSkillは、2つのCLIパッケージのビルドパイプライン・テンプレート仕様を集約したリファレンスです。, 사용 사례: Applying einja- プレフィックスを持たないため、presets/default/ にはコピーされません。.

cli-package-specs 와 호환되는 IDE는 무엇인가요?

이 스킬은 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 또는 에이전트를 자동으로 감지하고 스킬을 설정합니다.

  3. 3. 스킬 사용 시작

    스킬이 이제 활성화되었습니다. 현재 프로젝트에서 cli-package-specs을 바로 사용할 수 있습니다.

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

관련 스킬

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

모두 보기

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
인공지능

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
인공지능

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
개발자