WIP — この記事は追記・更新される可能性があります。
【Design Ops】「オリジナルコマンド」が作れる件——package.json の scripts という枠
#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 を使ったことがなかったので、特別な公式コマンドだけが存在する世界 だと思い込んでいました。
違った。
dev も build も、ただの「登録されたショートカット」 だったんですよね。
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"
}
ここがポイントです。
| 左側(名前) | 右側(実際に動く命令) |
|---|---|
dev | next dev |
build | next build |
releases:today | node scripts/list-today-releases.mjs |
左の releases:today みたいな好きな名前 を決めて、右に 「ターミナルで毎回打ちたくない長い命令」 を書いておけば、
npm run releases:today
の 1行 で済む。
エンジニア向けの魔法というより、Excel のマクロ登録 や ショートカットキーの割り当て に近い感覚だと思います(^^)
仕組みは3ステップだけ(枠組みメモ)
中身のコードを全部理解する前に、枠 だけ押さえておきたいので、超ざっくり書きます。
1. scripts/ に「やりたい処理」を置く
「フォルダの中身を読んで、条件に合うものだけ一覧表示する」みたいな処理を、小さなファイル(例: .mjs)として保存する。
※ ファイルの中身は Cursor に書いてもらってもいい。自分は 「何を自動化したいか」 だけ言えれば回る。
2. package.json の scripts に名前を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:list | wip: true の下書き一覧 |
releases:tomorrow | 明日公開予定の記事プレビュー |
release:check | push 前に「今日何本出るか」確認 |
links:check | 記事内のリンク切れざっくり検査 |
全部いきなり作る必要はない。イライラした瞬間に1個足す 運用で十分だと思っています。
わかったこと・まだこれから
わかったこと
npm run ○○の ○○ は 自分で増やせる- 置き場所は
package.jsonのscripts - 中身は別ファイルに書いて、名前だけ短く呼ぶ
まだこれから
.mjs/ Node の書き方を自分の言葉で説明できるレベルまで理解する- 既存 scripts(
dev/build)と自作 scripts の境界感
まとめ
「オリジナルコマンド」というと大げさに聞こえるかもしれないけど、やっていることは ターミナル作業のショートカット登録 です。
ブログ運営者・デザイナー・非エンジニア寄りの人こそ、毎日同じ確認を繰り返している はずなので、scripts という枠は知っておくと得だと感じました(^^)
次に「毎回これ面倒……」と思ったら、いきなりコードを書くんじゃなくて、
package.json の scripts に名前を足せない?
と Cursor に聞いてみる——それだけで十分、第一歩になると思います。