@trapar-waves/cli-template
Version:
A CLI template with TypeScript, tsup, consola, destr, and picocolors, offering efficient builds, logging, data parsing, and colorful output, with ESLint for quality.
124 lines (88 loc) • 6.2 kB
Markdown
# @trapar-waves/cli-template






---
[English](../README.md) | [中文](/readme/README-CN.md) | [Русский язык](/readme/README-RU.md)
> 現代的なツールを搭載したCLI開発テンプレートで、TypeScript、tsupビルドツール、consolaログシステム、その他のコアコンポーネントを統合し、高品質なCLIプロジェクトのセットアップを加速します。
## ✨ 特徴
- **CLIツールチェーン:** `ts-node`(開発中のTypeScript直接実行)と`tsup`(本番級ビルド)を統合し、デバッグからデプロイまでのフルワークフローをサポート。
- **TypeScriptサポート:** 型チェックとオートコンプリート機能を備えた完全なTypeScript設定(`tsconfig.json`を含む)で、コードの保守性を確保。
- **構造化ロギング:** `consola`を介したレベル付きロギング(info/warn/error)、カスタムフォーマット、コンテキスト対応メッセージを実装し、デバッグ効率を向上。
- **データ解析:** `destr`を組み込み、JSONライクデータ(CLI引数、設定ファイルなど)を安全に解析し、`JSON.parse`による例外を防止。
- **ターミナルスタイリング:** 軽量な`picocolors`を使用してクロスプラットフォームのターミナルカラーサポート(160+カラーコード)とスタイル(太字/下線)を実現し、CLIのインタラクティビティを向上。
- **コード品質:** `@antfu/eslint-config`に基づくESLintを統合し、自動コードスタイルチェック、エラー検出、ベストプラクティスの適用を実現。
- **高速ビルド:** `tsup`のデフォルト設定はESM出力、ソースマップ、型宣言生成をサポートし、従来のツールより30%以上高速なビルドを実現。
## 💻 技術スタック
- **言語:** `TypeScript`:静的型チェックと現代的な構文を備えたJavaScriptの型付きスーパーセット。
- **ビルドツール:** `tsup`:esbuildに基づく高速バンドラーで、ESM、CommonJS、型宣言出力をサポート。
- **ロギング:** `consola`:レベル付きメッセージ、カスタムテーマ、コンテキストサポートを備えた構造化ロギングライブラリ。
- **データ処理:** `destr`:JSONライク文字列(CLI引数など)の安全なパーサーで、`JSON.parse`エラーを防止。
- **ターミナルスタイリング:** `picocolors`:160+カラーコードとスタイル(太字/下線)を備えた軽量クロスプラットフォームターミナルカラーライブラリ。
- **コードリンティング:** `ESLint` + `@antfu/eslint-config`:スタイルとエラー問題の自動修正機能を備えた現代的なJavaScript/TypeScriptリンティングルール。
- **パッケージマネージャー:** `pnpm`:コンテンツアドレサブルパッケージマネージャーで、インストールが高速でディスク使用量が削減(`pnpm-lock.yaml`を参照)。
依存関係の完全なリストについては[package.json](package.json)を参照してください。
## 🚀 始め方
以下の手順に従ってプロジェクトをローカルで実行してください。
### 前提条件
以下がインストールされていることを確認してください:
- Node.js (推奨バージョン >= 18.x)
- パッケージマネージャー (npm, yarn または pnpm)
```bash
node -v
npm -v
```
### インストール
`create-trapar-waves` を使用して新しいプロジェクトの足場を構築する:
```bash
pnpm create trapar-waves
```
または、手動でテンプレートをセットアップする場合:
1. リポジトリをクローン:
```bash
git clone https://github.com/Trapar-waves/cli-template.git
cd cli-template
```
2. 依存関係をインストール:
```bash
pnpm install
# or
npm install
# or
yarn install
```
### 開発
`ts-node` を使用して開発モードで CLI を実行:
```bash
pnpm start
# or
npm run start
```
### ビルド
`tsup` を使用して本番用 CLI をビルド:
```bash
pnpm build
# or
npm run build
```
これにより、コンパイルされた JavaScript が `dist` ディレクトリに出力されます。
## 🤝 コントリビューション
貢献は歓迎され、非常に高く評価されています!貢献するには以下の手順に従ってください:
1. リポジトリをフォークする
2. 機能ブランチを作成する(`git checkout -b feature/amazing-feature`)
3. 変更をコミットする(`git commit -m 'Add some amazing feature'`)
4. ブランチにプッシュする(`git push origin feature/amazing-feature`)
5. Pull Requestを開く
コミットする前に、`pnpm lint` を実行してコードがプロジェクトの linting ルールに準拠していることを確認してください。
## 👤 Author
- **Rikka:** (admin@rikka.cc)
- **GitHub Profile:** [Muromi-Rikka](https://github.com/Muromi-Rikka)
## 📄 ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています - 詳細については [LICENSE](../LICENSE) ファイルを参照してください。
## 🔗 Links
- **リポジトリ:** [https://github.com/Trapar-waves/cli-template](https://github.com/Trapar-waves/cli-template)
- **ホームページ:** [https://github.com/Trapar-waves/cli-template](https://github.com/Trapar-waves/cli-template)
- **イシュー:** [https://github.com/Trapar-waves/cli-template/issues](https://github.com/Trapar-waves/cli-template/issues)