このプロジェクトについて

CNA Templatesは、npmで公開されているcreate-awesome-node-app CLIの公式テンプレートおよび拡張機能リポジトリです。その目的は、Nodeベースの新しいプロジェクトを生成する際に組み合わせ可能な、厳選されたスキャフォールディングの開始点とオプションのアドオンを開発者に提供することです。 テンプレートと使用方法 本リポジトリには10種類のスターターテンプレートが提供されており、それぞれに独自のREADMEと対応するCLIタイプがあります:React Vite(react、フロントエンドアプリ用)、Next.js(nextjs、フルスタック)、Next.js SaaS AI(nextjs-saas-ai、SaaSおよびAIアプリケーション用)、NestJS(nestjs-backend、バックエンドAPI)、Remix / React Router v7(remix、フルスタック)、Astro(astro、コンテンツサイト)、Hono(hono、軽量API)、Turborepo(モノレポ)、WebdriverIO(webdriverio、エンドツーエンドテスト)、およびWebExtension React Vite(webextension-react、ブラウザ拡張機能)です。 スキャフォールディングは、npx create-awesome-node-appによる対話形式、またはテンプレート名とアドオンを指定する非対話形式(例:--template react-vite-boilerplate --addons material-ui zustand)のいずれかで動作します。また、閲覧可能なテンプレートおよび拡張機能カタログを掲載したウェブサイトがあります。 ドキュメントと作成 docsディレクトリには、タイプシステムと生成フローを含むシステム概要、作成規約(ファイルレイアウト、EJS変数、package/システム、およびスペイン語版)、ローカルテストおよびCIワークフローガイド、そしてテンプレート、拡張機能、CI、依存関係、セキュリティ、リリースに関する運用手順を記述したメンテナンスランブックが含まれています。CONTRIBUTING.mdでは、新しいテンプレートや拡張機能の追加方法について説明しています。 検証モデル 品質管理は、4つの階層的なGitHub Actionsワークフローで構成されています。L0はレジストリパス、ドキュメントリンク、アセット、プロファイルをチェックする整合性確認です。L1はすべてのテンプレートを個別にビルドします。L2は1つの拡張機能を標準テンプレートに対してテストします。L3はカテゴリーごとに厳選されたスタックを実行します。プルリクエストはL0とL1に合格する必要があり、変更があったパスについてはL2とL3が実行されます。また、週次で全レイヤーの実行が行われます。READMEには、CIがグリーンであることはテンプレートと現実的な選択肢が動作することを意味し、すべての拡張機能を単一の結合アプリケーションに統合できることを意味するわけではないことが明記されています。 また、本リポジトリには、エコシステムに従事するAIアシスタント向けの再利用可能なメンテナンスプロンプトが含まれています。これには、事前チェック、イシュー優先のワークフロー、1つのプルリクエストにつき1つの修正、英語でのコミットとドキュメント作成、プッシュ前のローカル検証、および手動トークンではなくOIDCによるnpm Trusted Publishingが含まれます。 本プロジェクトはMITライセンスで提供され、Node 22以降をターゲットとしています。サポートのためにDiscordコミュニティ、イシュートラッカー、およびディスカッションを提供しています。