Skip to content
Development
Command

/init-tech-stack

プロジェクトの初期設定として技術スタックの選定をします。既にCLAUDE.mdがある場合は省略できます

BOOST
From plugin
tsumiki
97443 skills43 commands
Install
> /plugin marketplace add classmethod/tsumiki
> /plugin install tsumiki@tsumiki

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/init-tech-stack

Context preview

What this command does when you run it.

プロジェクトの初期設定として技術スタックの選定をします。既にCLAUDE.mdがある場合は省略できます

Command definition

init-tech-stack.md
description: プロジェクトの初期設定として技術スタックの選定をします。既にCLAUDE.mdがある場合は省略できます

init-tech-stack

目的

ユーザとのインタラクティブなやりとりを通じて、プロジェクトに最適な技術スタック定義を作成し、`docs/tech-stack.md` ファイルを生成します。

前提条件

  • プロジェクトルートディレクトリで実行
  • `docs/` ディレクトリが存在する(なければ作成)

実行フロー

このコマンドは、**AskUserQuestionツール**を使用して段階的にヒアリングを行います。

Phase 1: プロジェクト基本情報の収集

まず、以下の3つの質問をAskUserQuestionツールで同時に提示してください:

AskUserQuestion({
  questions: [
    {
      question: "プロジェクトのタイプを教えてください",
      header: "プロジェクト",
      multiSelect: false,
      options: [
        { label: "Webアプリケーション", description: "ブラウザで動作するアプリケーション" },
        { label: "モバイルアプリ", description: "スマートフォン/タブレット向けアプリ" },
        { label: "API/バックエンド", description: "API提供がメインのサービス" },
        { label: "デスクトップアプリ", description: "PC向けネイティブアプリ" },
        { label: "ライブラリ/SDK", description: "他の開発者向けのツール" },
        { label: "フルスタック", description: "フロントエンドとバックエンドの両方" }
      ]
    },
    {
      question: "開発チームの規模を教えてください",
      header: "チーム規模",
      multiSelect: false,
      options: [
        { label: "個人開発", description: "1人で開発" },
        { label: "小規模チーム", description: "2-5人" },
        { label: "中規模チーム", description: "6-15人" },
        { label: "大規模チーム", description: "16人以上" }
      ]
    },
    {
      question: "予定している開発期間はどの程度ですか?",
      header: "開発期間",
      multiSelect: false,
      options: [
        { label: "プロトタイプ/MVP", description: "1-2ヶ月" },
        { label: "短期プロジェクト", description: "3-6ヶ月" },
        { label: "中期プロジェクト", description: "6ヶ月-1年" },
        { label: "長期プロジェクト", description: "1年以上" }
      ]
    }
  ]
})

Phase 2: 技術制約・要件の収集

次に、以下の3つの質問をAskUserQuestionツールで同時に提示してください:

AskUserQuestion({
  questions: [
    {
      question: "既存のシステムやデータベースとの連携はありますか?",
      header: "既存連携",
      multiSelect: false,
      options: [
        { label: "新規構築", description: "全て新しく作成" },
        { label: "既存DB連携", description: "既存データベースを使用" },
        { label: "既存API連携", description: "既存のAPIと連携" },
        { label: "レガシー移行", description: "既存システムからの移行" }
      ]
    },
    {
      question: "想定される負荷や性能要件を教えてください",
      header: "パフォーマンス",
      multiSelect: false,
      options: [
        { label: "軽負荷", description: "同時利用者数10人以下、レスポンス3秒以内" },
        { label: "中負荷", description: "同時利用者数100人程度、レスポンス1秒以内" },
        { label: "高負荷", description: "同時利用者数1000人以上、レスポンス0.5秒以内" },
        { label: "未定/不明", description: "まだ詳細は決まっていない" }
      ]
    },
    {
      question: "セキュリティの重要度を教えてください",
      header: "セキュリティ",
      multiSelect: false,
      options: [
        { label: "基本レベル", description: "一般的なWebセキュリティ対策" },
        { label: "高度", description: "個人情報取り扱い、金融系など" },
        { label: "エンタープライズ", description: "企業向け、コンプライアンス要件あり" },
        { label: "未定/不明", description: "まだ詳細は決まっていない" }
      ]
    }
  ]
})

Phase 3: チーム・スキル状況の収集

次に、以下の2つの質問をAskUserQuestionツールで同時に提示してください:

AskUserQuestion({
  questions: [
    {
      question: "チームメンバーの技術経験を教えてください(複数選択可)",
      header: "技術スキル",
      multiSelect: true,
      options: [
        { label: "JavaScript/TypeScript", description: "経験豊富" },
        { label: "Python", description: "経験豊富" },
        { label: "Java/Kotlin", description: "経験豊富" },
        { label: "C#/.NET", description: "経験豊富" },
        { label: "Go/Rust", description: "経験豊富" },
        { label: "React/Vue/Angular", description: "経験豊富" },
        { label: "データベース設計", description: "経験豊富" },
        { label: "クラウド(AWS/Azure/GCP)", description: "経験豊富" },
        { label: "Docker/Kubernetes", description: "経験豊富" },
        { label: "技術スキル限定的", description: "学習しながら進めたい" }
      ]
    },
    {
      question: "新しい技術の習得についてどう考えますか?",
      header: "学習コスト",
      multiSelect: false,
      options: [
        { label: "積極的に新技術", description: "最新技術でチャレンジしたい" },
        { label: "バランス重視", description: "新技術と安定技術のバランス" },
        { label: "安定技術優先", description: "枯れた技術で確実に開発" },
        { label: "既存スキル活用", description: "チームの知識を最大限活用" }
      ]
    }
  ]
})

Phase 4: 運用・インフラ要件の収集

最後に、以下の2つの質問をAskUserQuestionツールで同時に提示してください:

AskUserQuestion({
  questions: [
    {
      question: "アプリケーションをどこで動かす予定ですか?",
      header: "ホスティング",
      multiSelect: false,
      options: [
        { label: "クラウド", description: "AWS/Azure/GCP" },
        { label: "PaaS", description: "Vercel/Netlify/Heroku" },
        { label: "VPS/専用サーバー", description: "自前サーバー" },
        { label: "オンプレミス", description: "社内サーバー" },
        { label: "未定", description: "まだ決まっていない" }
      ]
    },
    {
      question: "開発・運用コストについて教えてください",
      header: "予算制約",
      multiSelect: false,
      options: [
        { label: "コスト最小化", description: "無料・低コストツール優先" },
        { label: "バランス重視", description: "適度なコストは許容" },
        { label: "品質重視", description: "コストより品質・効率を優先" },
        { label: "予算潤沢", description: "最適なツールを選択可能" }
      ]
    }
  ]
})

技術スタック推奨ロジック

全ての回答を収集した後、以下のロジックで技術を推奨してください:

フロントエンド選択ロジック

IF プロジェクトタイプ == "Webアプリケーション" OR "フルスタック"
  IF チーム経験に "React/Vue/Angular" あり
    IF 学習コスト許容度 == "積極的に新技術"
      推奨: React 19 + TypeScript 5.7+ + Vite 6 (最新技術)
    ELSE
      推奨: React 18.3 + TypeScript 5.7+ + Vite 6 (安定性重視)
  ELSE IF "JavaScript/TypeScript" 経験あり
    推奨: Vue 3.5+ + TypeScript 5.7+ + Vite 6 (学習コスト低)
  ELSE
    推奨: Next.js 15 + TypeScript 5.7+ (フルスタック簡単)

バックエンド選択ロジック

IF "JavaScript/TypeScript" 経験豊富
  IF 学習コスト許容度 == "積極的に新技術"
    推奨: Node.js 22 LTS + Fastify 5 + TypeScript 5.7+ (高速)
  ELSE
    推奨: Node.js 22 LTS + Express 5 + TypeScript 5.7+ (安定)
ELSE IF "Python" 経験豊富
  IF パフォーマンス要件 == "高負荷"
    推奨: FastAPI 0.115+ (Python 3.12+) (高速API)
  ELSE
    推奨: Django 5.1+ (Python 3.12+) (フルフィーチャー)
ELSE IF "Java/Kotlin" 経験豊富
  推奨: Spring Boot 3.4+ (Kotlin 2.1+, Java 21+)
ELSE IF "C#/.NET" 経験豊富
  推奨: ASP.NET Core 9 (.NET 9)
ELSE IF "Go/Rust" 経験豊富
  推奨: Go 1.23+ (Gin 1.10+ / Fiber 3) または Rust 1.83+ (Actix-web 4)
ELSE
  推奨: Node.js 22 LTS + Express 5 (フロントエンドとの統一)

データベース選択ロジック

IF パフォーマンス要件 == "高負荷"
  推奨: PostgreSQL 17+
Read more
Ships withtsumiki

TsumikiはAI駆動開発のためのフレームワークです。要件定義から実装まで、AIを活用した効率的な開発プロセスを提供します。 基本的にClaude Codeをサポートしますが、それ以外のツールでも使用できます。Claude Code以外のツールでtsumikiを使用する を参照してください。

Get the whole plugin

Other commands on tsumiki.

auto-debug
Command

auto-debug

テストエラーを解消するための自動デバッグプロセス。全テストケースの確認からエラー原因の調査、修正まで段階的に実行し、テストケースの成功率向上を目指します。

build-fix
Command

build-fix

ビルドエラー(コンパイルエラー、型エラー、依存パッケージ未解決)を自動的に分析・修正します。auto-debugから委譲される他、ユーザが直接呼び出すことも可能です。