원클릭으로
nodejs-project-bootstrap
Node.jsプロジェクトを新規作成する手順。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Node.jsプロジェクトを新規作成する手順。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Creates beautiful ASCII art visualizations for plans, architectures, workflows, and data. This skill should be used when explaining system architecture, creating implementation plans, showing workflows, visualizing comparisons, or documenting file structures. NOT for code syntax highlighting or markdown tables. User explicitly loves ASCII art - use liberally for visual communication.
現在の Git 作業ツリーの変更を、意味のある単位に分割してセマンティックなコミットにする。大きな差分や複数目的が混在した差分のコミット分割、scope なしを原則とする semantic commit 形式のメッセージ作成、コミット計画のレビューを行うときに使う。既存の Git 状態を尊重する。
Design, draft, review, and refine Codex agent skills that follow current Codex conventions and the open Agent Skills format. Use when the user wants to create a new skill, update an existing SKILL.md, improve a skill's trigger description, decide whether to add scripts/references/assets, add agents/openai.yaml, or validate and test a skill package before installing it. Common triggers include "create a Codex skill", "make a skill", and "improve this SKILL.md".
Node.jsプロジェクトで新しく依存関係を入れる際の標準選定ルール。プロジェクト立ち上げ時や機能追加時に、どのライブラリやツールを採用するかを事前に固定し、選定の揺れを防ぎたいときに使う。
pnpmの依存追加運用とERR_PNPM_IGNORED_BUILDS対応の共通手順。
| name | nodejs-project-bootstrap |
| description | Node.jsプロジェクトを新規作成する手順。 |
mise で使用バージョンを確認する。mise latest node@lts
mise latest pnpm@latest
.tool-versions に Node.js の具体的バージョンを書く。lts や latest は書かない。node <lts-version>
mise で Node.js をインストールする。mise install
package.json を作る。type: "module" を必須にする。packageManager に pnpm の具体的バージョンを書く。version は通常 0.1.0 から始める。ワークスペースルートでは省略可。private: true を付与する。{
"name": "<name>",
"version": "0.1.0",
"type": "module",
"description": "<description>",
"author": "NISHIZAWA Shuntaro <me@s2n.tech>",
"license": "MIT",
"private": true,
"packageManager": "pnpm@<latest-version>"
}
pnpm-workspace.yaml を作り、セキュリティ設定を有効化する。minimumReleaseAge: 1440
saveExact: true
strictDepBuilds: true
trustPolicy: no-downgrade
trustPolicyIgnoreAfter: 10080
ERR_PNPM_IGNORED_BUILDS の対応は pnpm-dependency-ops スキルを参照する。tsconfig.json は手書きでオプションを埋めず、必ず @tsconfig/* を extends で利用する。@tsconfig/strictest を併用する。exactOptionalPropertyTypes は false に、 verbatimModuleSyntax は true にする。pnpm add -D typescript @tsconfig/node-lts @tsconfig/strictest
pnpm add -D typescript @tsconfig/vite-react @tsconfig/strictest
tsconfig.json は extends で構成する。Node.jsプロジェクトの場合は moduleResolution を bundler にする。
{
"extends": [
"@tsconfig/node-lts/tsconfig.json",
"@tsconfig/strictest/tsconfig.json"
],
"compilerOptions": {
"exactOptionalPropertyTypes": false,
"verbatimModuleSyntax": true,
"moduleResolution": "bundler"
}
}
{
"extends": [
"@tsconfig/vite-react/tsconfig.json",
"@tsconfig/strictest/tsconfig.json"
],
"compilerOptions": {
"exactOptionalPropertyTypes": false,
"verbatimModuleSyntax": true
}
}
package.json に型チェック用スクリプトを追加する。{
"scripts": {
"typecheck": "tsc --noEmit"
}
}
tsc を使わない。ビルドする場合は tsdown を使うこと。https://tsdown.dev/guide/@tsconfig/* の一覧と使い分け: https://github.com/tsconfig/bases/blob/main/README.mdoxlint と oxfmt を使う。oxlint は type-aware linting を有効化する。oxlint-tsgolint を必ず導入する。pnpm add -D oxlint oxlint-tsgolint oxfmt
pnpm exec oxlint --init
pnpm exec oxfmt --init
package.json の scripts に実行コマンドを追加する。{
"scripts": {
"format": "oxfmt",
"format:check": "oxfmt --check",
"lint": "oxlint",
"lint:fix": "oxlint --fix"
}
}
oxlint のデフォルト設定に type-aware linting を、 oxfmt のデフォルト設定に import sort と package.json の scripts sort を追加する。.oxlintrc.json:
{
"options": {
"typeAware": true
}
}
.oxfmtrc.json:
{
"experimentalSortImports": {
"groups": ["builtin", "external", "internal", "parent", "sibling", "index"]
},
"experimentalSortPackageJson": {
"sortScripts": true
}
}
https://oxc.rs/docs/guide/usage/linter/type-awarehttps://oxc.rs/docs/guide/usage/formatter/config-file-reference.tool-versions で行う。mise.toml は使わない。.tool-versions ではなく package.json の packageManager で行う。pnpm create は使用しないこと。テンプレートではなく自分でプロジェクトを作成する。