Skip to content

chore(release): npm 公開向けに package を整備#2

Merged
akihidem merged 1 commit into
mainfrom
chore/release-prep
May 11, 2026
Merged

chore(release): npm 公開向けに package を整備#2
akihidem merged 1 commit into
mainfrom
chore/release-prep

Conversation

@akihidem

Copy link
Copy Markdown
Owner

なぜ

v1.0 機能(MCP Tools/Prompts)が main 取り込み済みになり、配布できる段階に入った。これまで private: true 前提だった metadata と CLI エントリを公開向けに揃え、npm publish + GitHub public 化を実行できる状態を作るのが本 PR の目的。

何を

  • package.json: private 解除、repository/bugs/homepage/keywords/author/license/files/prepublishOnly を追加。
  • bin/cogsync.js: tsx/esmtsImportsrc/index.ts を直接起動するラッパー(#!/usr/bin/env node)。tsxdependencies へ昇格。
  • README.md: 公開向けに再構成(Install / Quickstart / MCP 登録 / Commands / 開発手順)。private 前提の記述を削除。
  • CHANGELOG.md 新設(Keep a Changelog 形式、v0.1〜v1.0)。
  • .github/workflows/ci.yml: Node 20/22 で typecheck + test
  • src/index.ts: --version1.0.0-alpha.0 に同期。

設計判断

  • ビルドステップ追加は α 中は避け、tsx/esmtsImport API で .ts を直接実行する形を採用した。stable 化のタイミングで tsc emit に乗り換える前提。
  • 配布物に src/ を含めて tarball 45.8kB(32 files)。LICENSE/CHANGELOG/README 同梱。
  • 公開直後は npm publish --tag alpha を想定。利用者は npm install -g cogsync-cli@alpha でインストール。latest は安定版で確定。

スコープ外

  • 安定版(1.0.0)昇格・latest タグ publish。
  • repo public 化・GitHub Release 作成(本 PR マージ後の別作業)。
  • tsc emit ベースの本格ビルド導入(v1.x の課題)。

検証方法

  • npm run typecheck — pass
  • npm test — 10/10 pass
  • node bin/cogsync.js --help / --version — 正常起動
  • npm pack --dry-run — 32 files / 45.8 kB、bin・src・LICENSE 同梱

依存

なぜ:
- v1.0 機能 (MCP Tools/Prompts) が main 取り込み済みになり、配布できる段階に入った。
- これまで private 前提だった metadata と CLI エントリを公開向けに揃え、npm + GitHub public へ昇格できる状態を作る。

何を:
- package.json: `private` 解除、`repository`/`bugs`/`homepage`/`keywords`/`author`/`license`/`files`/`prepublishOnly` 追加。
- bin/cogsync.js: `tsx/esm` の tsImport で src/index.ts を直接起動するラッパー (`#!/usr/bin/env node`)。tsx を runtime 依存へ昇格。
- README: 公開向けに再構成(Install / Quickstart / MCP 登録 / Commands / 開発手順)。private 表記削除。
- CHANGELOG.md: Keep a Changelog 形式で v0.1〜v1.0 を記録。
- .github/workflows/ci.yml: Node 20/22 で typecheck + test。
- src/index.ts: `--version` を 1.0.0-alpha.0 に同期。

設計判断:
- ビルドステップ追加は α 中は避け、`tsx/esm` の tsImport API で `.ts` を直接実行する形を採用。配布物に src/ を含めて size 45.8kB に収まる。
- 公開直後は `--tag alpha` での publish を想定(npm install -g cogsync-cli@alpha)。stable は実利用フィードバック後。

スコープ外:
- 安定版(1.0.0)昇格・stable npm publish。
- repo public 化・GitHub Release(PR マージ後の別作業)。

検証方法:
- npm run typecheck: pass
- npm test: 10/10 pass
- node bin/cogsync.js --help / --version: 正常起動
- npm pack --dry-run: 32 files / 45.8kB、bin・src・LICENSE 同梱を確認

依存:
- 既存 main (PR #1 マージ済み)
@akihidem akihidem merged commit b6849be into main May 11, 2026
2 checks passed
@akihidem akihidem deleted the chore/release-prep branch May 11, 2026 02:49
akihidem added a commit that referenced this pull request Jul 2, 2026
cogsync 本体 v0.3 §9 E5(繰延で deep 中の割り込み 3.8→0 回/週、代償の handback
遅延は平均 16 分)の実装翻訳 #2。凍結仕様: docs/BRIEF-notify-defer.md

- notify/defer.ts: DeferQueue(enqueue は同 key を後着 vars で置換しつつ queuedAt は
  初回時刻を保持/drainDue は「境界越えで全件送信・maxDeferMin 超過で安全弁送信・24h TTL 超で破棄」)、
  isDeferralActive(保護フェーズ×新鮮のみ true・config 壊れても Array ガードで false)、
  buildDeliveries(2 件以上は deferred_digest 1 通に集約)。時刻は全て now 注入
- 繰延対象は戦略系のみ(weekly_pace_exceeded / snowball_detected)。時間クリティカル系
  (limit/burn)・中断が目的の deepwork_cap・pomodoro/運用系は即時のまま
- watch: drain→fired/cooldown 登録→advice→enqueue の順。fired/cooldown は「送信時」登録
  (投入時に登録すると TTL 破棄された通知が永久に消える)。キューは state.json に永続化
- config: notify.deferDuringPhases(既定 design/implement)・maxDeferMin(既定 60)
- cogsync status に保留件数(--json は deferredCount)。desktop に deferred_digest テンプレ
- 配送はイベントベース(deep 中に発火したものを境界で振り返る)。条件解消の追い出しは
  advise が 1 tick 1 件のため単独観測不能→意味論として固定・陳腐化は安全弁で上限

検品: builder=Opus(Sonnet がセッション上限で落ち引き取り)→L0 108 テスト緑+typecheck
+watch --once で enqueue/drain 両パスを実機スモーク→codex review 2round
(queuedAt リセットで安全弁死・config クラッシュ面・README 重複を裁定反映)→VERDICT: PASS

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant