Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .changeset/readme-auto-generation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
"@tktco/create-devenv": minor
---

README 自動生成機能を追加

- `pnpm run docs` で README のセクション(機能一覧・コマンド・生成ファイル)を自動生成
- push コマンド実行時に README を自動更新して PR に含める
- デフォルトコマンドをインタラクティブ選択に変更
- 開発者向けドキュメントを CONTRIBUTING.md に移動
19 changes: 19 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,22 @@ jobs:
node packages/create-devenv/dist/index.mjs /tmp/test-project --yes
ls -la /tmp/test-project
cat /tmp/test-project/.devenv.json

docs:
name: Check README
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version: "22"
cache: "pnpm"

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Check README is up to date
run: pnpm --filter @tktco/create-devenv run docs:check
59 changes: 59 additions & 0 deletions packages/create-devenv/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Contributing

## 開発環境セットアップ

```bash
cd packages/create-devenv

# 依存関係のインストール
pnpm install

# 開発モード(stub)
pnpm run dev

# ビルド
pnpm run build

# テスト
pnpm run test

# 型チェック
pnpm run typecheck

# リント
pnpm run lint
```

## ドキュメント更新

README の一部は自動生成されています。コマンドオプションやモジュールを変更した場合は以下を実行してください:

```bash
pnpm run docs
```

## リリース

[Changesets](https://github.com/changesets/changesets) を使用した自動リリースフローです。

### 手順

```bash
# 1. changeset 作成(対話式で patch/minor/major を選択)
pnpm changeset

# 2. コミット & プッシュ
git add . && git commit -m "chore: add changeset" && git push
```

これで CI が自動的に:
1. バージョン更新 & CHANGELOG 生成 → コミット
2. npm publish(OIDC Trusted Publishing)

を実行します。

### バージョニング

- `patch`: バグ修正(0.1.0 → 0.1.1)
- `minor`: 機能追加(0.1.0 → 0.2.0)
- `major`: 破壊的変更(0.1.0 → 1.0.0)
140 changes: 93 additions & 47 deletions packages/create-devenv/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@

開発環境テンプレートをインタラクティブにセットアップする CLI ツール。

<!-- FEATURES:START -->

## 機能

- DevContainer 設定(VS Code 拡張、mise、Docker-in-Docker)
- GitHub Actions(issue-link、labeler ワークフロー)
- MCP サーバー設定(Context7、Playwright、Chrome DevTools)
- mise 設定(Node.js、uv、Claude Code など)
- Claude IDE 設定
- **ルート設定** - MCP、mise などのルート設定ファイル
- **DevContainer** - VS Code DevContainer、Docker-in-Docker
- **GitHub** - GitHub Actions、labeler ワークフロー
- **Claude** - Claude Code のプロジェクト共通設定

<!-- FEATURES:END -->

## インストール

Expand All @@ -22,74 +25,117 @@ npx @tktco/create-devenv
npx @tktco/create-devenv ./my-project
```

## CLI オプション
<!-- COMMANDS:START -->

```
Usage: create-devenv init [dir] [options]
## コマンド

### `init`

開発環境テンプレートを適用

Arguments:
dir プロジェクトディレクトリ (default: ".")
```
開発環境テンプレートを適用 (create-devenv vdev)

USAGE `create-devenv [OPTIONS] [DIR]`

ARGUMENTS

`DIR="."` プロジェクトディレクトリ

Options:
--force 既存ファイルを強制上書き
-h, --help ヘルプを表示
OPTIONS

`--force` 既存ファイルを強制上書き
`-y, --yes` すべてのモジュールを自動選択(非インタラクティブモード)
```

## 生成されるファイル
### `push`

選択したモジュールに応じて以下のファイルが生成されます:
ローカル変更をテンプレートリポジトリに PR として送信

- `.devcontainer/` - DevContainer 設定
- `.github/` - GitHub Actions ワークフロー
- `.mcp.json` - MCP サーバー設定
- `.mise.toml` - mise ツール設定
- `.claude/` - Claude IDE 設定
- `.devenv.json` - このツールの設定(適用したモジュール情報)
```
ローカル変更をテンプレートリポジトリに PR として送信 (push)

## 開発
USAGE `push [OPTIONS] [DIR]`

```bash
cd packages/create-devenv
ARGUMENTS

# 依存関係のインストール
npm install
`DIR="."` プロジェクトディレクトリ

# 開発モード(stub)
npm run dev
OPTIONS

# ビルド
npm run build
`-n, --dryRun` 実際の PR を作成せず、プレビューのみ表示
`-m, --message` PR のタイトル
`-f, --force` 確認プロンプトをスキップ
`--no-i, --no-interactive` 差分を確認しながらファイルを選択(デフォルト有効)
```

## リリース
### `diff`

[Changesets](https://github.com/changesets/changesets) を使用した自動リリースフローです。
ローカルとテンプレートの差分を表示

### 手順
```
ローカルとテンプレートの差分を表示 (diff)

```bash
cd packages/create-devenv
USAGE `diff [OPTIONS] [DIR]`

ARGUMENTS

# 1. changeset 作成(対話式で patch/minor/major を選択)
npm run changeset
`DIR="."` プロジェクトディレクトリ

# 2. コミット & プッシュ
git add . && git commit -m "chore: add changeset" && git push
OPTIONS

`-v, --verbose` 詳細な差分を表示
```

これで CI が自動的に:
1. バージョン更新 & CHANGELOG 生成 → コミット
2. npm publish(OIDC Trusted Publishing)
<!-- COMMANDS:END -->

<!-- FILES:START -->

## 生成されるファイル

選択したモジュールに応じて以下のファイルが生成されます:

### ルート

MCP、mise などのルート設定ファイル

- `.mcp.json`
- `.mise.toml`

### `.devcontainer/`

VS Code DevContainer、Docker-in-Docker

- `.devcontainer/devcontainer.json`
- `.devcontainer/.gitignore`
- `.devcontainer/setup-*.sh` (パターン)
- `.devcontainer/test-*.sh` (パターン)
- `.devcontainer/.env.devcontainer.example`
- `.devcontainer/run-chrome-devtools-mcp.sh`

### `.github/`

GitHub Actions、labeler ワークフロー

- `.github/workflows/issue-link.yml`
- `.github/workflows/label.yml`
- `.github/labeler.yml`

### `.claude/`

Claude Code のプロジェクト共通設定

- `.claude/settings.json`

### 設定ファイル

- `.devenv.json` - このツールの設定(適用したモジュール情報)

を実行します。
<!-- FILES:END -->

### バージョニング
## 開発・コントリビュート

- `patch`: バグ修正(0.1.0 → 0.1.1)
- `minor`: 機能追加(0.1.0 → 0.2.0)
- `major`: 破壊的変更(0.1.0 → 1.0.0)
[CONTRIBUTING.md](./CONTRIBUTING.md) を参照してください。

## ライセンス

Expand Down
4 changes: 3 additions & 1 deletion packages/create-devenv/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@
"test": "vitest",
"test:run": "vitest run",
"test:coverage": "vitest run --coverage",
"prepack": "npm run build"
"prepack": "npm run build",
"docs": "npx tsx scripts/generate-readme.ts",
"docs:check": "npx tsx scripts/generate-readme.ts --check"
},
"dependencies": {
"@inquirer/prompts": "^8.0.2",
Expand Down
Loading