Skip to content

ttatsato/dev-stacks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dev-stacks

開発技術タグの canonical 辞書。表記揺れ(Next.js / nextjs / ネクストjs)を整理し、機械可読な JSON として配布する。

タグを「書き手による分類」と「集計・正規化のための canonical」の二段で扱うアプリ向けに、後者の辞書として参照されることを想定している。発見動線(タグ一覧 / タグ検索)を構築するためのものではない。

使い方

dist/stacks.json を直接 fetch するか、git submodule で取り込む。

import stacks from "dev-stacks/dist/stacks.json";

const entry = stacks.entries.find((e) =>
  [e.canonical.toLowerCase(), ...e.aliases.map((a) => a.toLowerCase())].includes(
    input.toLowerCase(),
  ),
);

各エントリの形式:

- canonical: "Next.js"
  aliases: ["nextjs", "next.js", "next-js", "ネクストjs"]
  category: framework
  description: "React-based fullstack framework by Vercel"

編集

ソースは stacks/*.yaml。カテゴリごとにファイルが分かれている:

  • languages.yaml — TypeScript, Python, Go, ...
  • frameworks.yaml — Next.js, Rails, Django, ...
  • databases.yaml — PostgreSQL, MySQL, Redis, ...
  • platforms.yaml — Supabase, Firebase, ...
  • cloud.yaml — AWS, GCP, Vercel, ...
  • tools.yaml — Docker, Kubernetes, ...
  • concepts.yaml — OAuth, RLS, CI/CD, ...

ビルド:

npm install
npm run build       # stacks/*.yaml → dist/stacks.json

命名ルール

  • canonical は公式の表記に従う(Next.js であって Next.JS ではない、PostgreSQL であって Postgresql ではない)
  • aliases は lower-case を基本に、よくある別表記を入れる
    • 公式略称 (ts, k8s)
    • URL slug 形式 (next-js, ruby-on-rails)
    • 日本語カタカナ (ネクストjs, ポスグレ)
    • 旧名・SES 業界呼称
  • 同じ canonical を 2 つの YAML に重複させない

寄与

PR 歓迎。命名ルールに沿った追加・別名追加・カテゴリ修正など。技術名の歴史的経緯がある場合は description に簡潔に書く。

ロードマップ

  • GitHub 公式の github/explore (CC-BY-4.0) からの自動取り込みスクリプト
  • JSON Schema による PR 自動 validation (GitHub Actions)
  • semver でのリリース管理 + npm 公開

ライセンス

CC-BY-4.0. 商用利用可、attribution 要。

About

IT developer のスタック辞書

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors