WIPこの記事は追記・更新される可能性があります。

【Design Ops】「オリジナルコマンド」が作れる件——package.json の scripts という枠

Design Ops / 設計・制作

#npm · #package.json · #Terminal · #Cursor · #効率化 · #star-moti · #Design Ops

公開
更新

【Design Ops】「オリジナルコマンド」が作れる件——package.json の scripts という枠

Cursor でサイト改修をしていると、たまに 「すごい!こんなの作れた!!」 という瞬間があります。

今回それが npm run releases:today というコマンドだったのですが、正直いうと 中身のプログラムより先に、「え、自分でコマンド名作れるの!?」 という発見の方がインパクトが大きかった(^^)

npm run dev で開発サーバーを起動して、npm run build で本番ビルドする——この2つくらいしか npm run を使ったことがなかったので、特別な公式コマンドだけが存在する世界 だと思い込んでいました。

違った。

devbuild も、ただの「登録されたショートカット」 だったんですよね。


package.json の scripts = 自分専用ショートカット表

star-moti の package.json を開くと、scripts というブロックがあります。

"scripts": {
  "dev": "next dev",
  "build": "next build",
  "lint": "next lint",
  "releases:today": "node scripts/list-today-releases.mjs"
}

ここがポイントです。

左側(名前)右側(実際に動く命令)
devnext dev
buildnext build
releases:todaynode scripts/list-today-releases.mjs

左の releases:today みたいな好きな名前 を決めて、右に 「ターミナルで毎回打ちたくない長い命令」 を書いておけば、

npm run releases:today

1行 で済む。

エンジニア向けの魔法というより、Excel のマクロ登録ショートカットキーの割り当て に近い感覚だと思います(^^)


仕組みは3ステップだけ(枠組みメモ)

中身のコードを全部理解する前に、 だけ押さえておきたいので、超ざっくり書きます。

1. scripts/ に「やりたい処理」を置く

「フォルダの中身を読んで、条件に合うものだけ一覧表示する」みたいな処理を、小さなファイル(例: .mjs)として保存する。

※ ファイルの中身は Cursor に書いてもらってもいい。自分は 「何を自動化したいか」 だけ言えれば回る。

2. package.jsonscripts に名前を1行追加

"releases:today": "node scripts/list-today-releases.mjs"

: 入りの名前(releases:today)も普通に使える。覚えやすければ何でもOK。

3. npm run 名前 で実行

npm run releases:today
npm run releases:today -- --date=2026-08-28
npm run releases:today -- --urls-only

-- より右は、スクリプト側にオプションとして渡せる(日付指定や URL だけ表示、など)。


例:なぜ releases:today が生まれたか(中身は割愛)

きっかけは Search Console の手動インデックス運用 の話です。

「push したあと、今日 date の記事 URL をサチコに手動リクエストする——その URL 一覧、毎回自分で探すのだるい」

という 運用上のイライラ から、「一覧を自動で print するコマンドが欲しい」→ Cursor が scripts/list-today-releases.mjs を作って、package.json に登録、という流れでした。

中身(frontmatter の date を東京時間で見る、とか)は 追って理解中 です。でも 枠さえ分かれば「こういうのも作れそう」 と想像できるようになった、というのが今回の収穫(^^)


「こういうのも作れそう」妄想リスト

scripts の枠が分かったら、毎回手でやっていること が候補になります。

コマンド名(仮)やりたいこと
drafts:listwip: true の下書き一覧
releases:tomorrow明日公開予定の記事プレビュー
release:checkpush 前に「今日何本出るか」確認
links:check記事内のリンク切れざっくり検査

全部いきなり作る必要はない。イライラした瞬間に1個足す 運用で十分だと思っています。


わかったこと・まだこれから

わかったこと

  • npm run ○○ の ○○ は 自分で増やせる
  • 置き場所は package.jsonscripts
  • 中身は別ファイルに書いて、名前だけ短く呼ぶ

まだこれから

  • .mjs / Node の書き方を自分の言葉で説明できるレベルまで理解する
  • 既存 scripts(dev / build)と自作 scripts の境界感

まとめ

「オリジナルコマンド」というと大げさに聞こえるかもしれないけど、やっていることは ターミナル作業のショートカット登録 です。

ブログ運営者・デザイナー・非エンジニア寄りの人こそ、毎日同じ確認を繰り返している はずなので、scripts という枠は知っておくと得だと感じました(^^)

次に「毎回これ面倒……」と思ったら、いきなりコードを書くんじゃなくて、

package.json の scripts に名前を足せない?

と Cursor に聞いてみる——それだけで十分、第一歩になると思います。