Skip to content

技術スタック定義 (TSD) 作成ルール

技術スタック定義(Technology Stack Definition, TSD)は、 システムで採用する技術(言語、フレームワーク、DB、メッセージ基盤、キャッシュ等)を、一覧(インベントリ) として定義します。

TSD は「何を採用し」「何に使うか(担当責務)」を関係者間で合意するための入口です。

アーキテクチャ設計およびインフラ設計の検討結果として採用が確定した技術を整理・明文化した成果物であり、 以降の設計・実装・運用における前提条件として扱う。

なお、TSD は実装に直接関わる機械判読用途ではないため、表(Markdown) で管理します。

1. 記載方針(必須)

  • 合意に必要な最小十分を記載する(内部実装の都合は書かない)
  • 「採用技術」と「担当責務(何に使うか)」が対応していること
  • ベンダー固有の契約情報や機密値(URL/鍵/アカウント等)は書かない
  • 技術名は一般的な表記に揃える(例: Java 21, Spring Boot, PostgreSQL

禁止(書かない):

  • DB物理テーブル名・物理カラム名・SQL全文
  • 実装クラス/関数名・内部モジュール構成
  • UI操作の逐語列挙

2. メタデータ(Frontmatter)

Frontmatter は docs/handbook/shared/schemas/spec-frontmatter.schema.yaml の制約に従います。

項目説明必須
idTSL ID(例: tsl-main
typearchitecture 固定
titleドキュメント名(例: 技術スタック一覧)
statusdraft/ready/deprecated
based_on根拠となる仕様ID(ADR/非機能/設計など)任意
supersedes置き換え関係(古仕様→新仕様)任意

2.1 ID規約

  • TSL の idtsl-... の形式を推奨します(例: tsl-main)。
  • type: architecture はアーキテクチャ(構造・構成)系の合意ドキュメントであることを示します。

3. 表の形式

TSL は次の列を持つ表として記載します。

列名説明
区分カテゴリ(例: 言語, Web FW, DB, MQ, Cache)
採用技術採用する技術名とバージョン(分かる範囲で)
担当責務その技術を何に使うか(短く)

※ 補足が必要な場合は、上記に加えて 補足 列を追加して構いません。

4. サンプル

Frontmatter + 表(最小):

yaml
---
id: tsd-overview
type: architecture
title: 技術スタック定義
status: draft
part_of: []
based_on: []
supersedes: []
---

技術スタック一覧表

区分採用技術担当責務
言語Java 21サーバサイド実装
Web FWSpring BootAPI提供・DI・TX管理
DBPostgreSQL業務データ永続化
MQKafka業務イベント配信
CacheRedis参照系高速化
ホスティングVercelフロントエンド配信・デプロイ

5. 生成 AI への指示テンプレート

  • 以下のルールに従って、技術スタック一覧(TSL)Frontmatter + Markdownの表として作成してください。
  • 出力は Frontmatter と 表(Markdown)だけ とし、前後の説明文は出力しないでください。
  • Frontmatter は docs/handbook/shared/schemas/spec-frontmatter.schema.yaml に従い、id/type/title/status を必ず含め、typearchitecture 固定にしてください。
  • 列は 区分 / 採用技術 / 担当責務 を必ず含めてください(必要なら 補足 を追加可)。
  • 禁止: 物理テーブル名・物理カラム名・SQL全文、実装クラス/関数名、内部モジュール構成、UI操作の逐語列挙、機密値