Skills hardcode `~/.plannotator`: `plannotator-compound` ignores `$XDG_DATA_HOME` and can silently switch the data directory
メンテナーはふだん 1 日以内に返信
関連するプルリクエストがすでにマージされています。
- #2411 @backnotprop による — マージ済み
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 53/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
調査の方向性
Start with packages/shared/data-dir.ts to confirm the directory resolution order, then read the listed plannotator-compound skill files and apps/skills/core/plannotator/SKILL.md. Check how skill commands are exposed before assessing the proposed plannotator data-dir approach. Done means the skills use the resolved directory consistently, including XDG-only installs, and document the behavior.
索引モデルが issue の本文から書いたものです。
説明
Problem
getPlannotatorDataDir() (packages/shared/data-dir.ts) resolves the data directory as:
PLANNOTATOR_DATA_DIR- an existing
~/.plannotator $XDG_DATA_HOME/plannotator(absolute path)~/.plannotator
The skills still describe and use the pre-XDG default:
apps/skills/extra/plannotator-compound/SKILL.mdlines 25, 58 and 522 (v0.28.30 and main):
${PLANNOTATOR_DATA_DIR:-~/.plannotator}, to readplans/and to create
hooks/compound/enterplanmode-improve-hook.txt;apps/skills/extra/plannotator-compound/references/claude-code-fallback.md;apps/skills/core/plannotator/SKILL.md: the variable table says "default~/.plannotator".
Impact (derived from reading the code at v0.28.30 and main; I have not run the skill end to end)
On an XDG-only install (no ~/.plannotator):
- the skill does not find the plan archive and falls back to the Claude Code mode or asks the user;
- if the improvement hook is enabled, the skill creates
~/.plannotator/hooks/compound/;
that makes~/.plannotatorexist, so rank 2 of the resolution wins and the binary silently
switches to it, leaving plans, history, feedback and drafts under$XDG_DATA_HOME/plannotator
unreachable.
Proposal
Add a command that prints the resolved directory (for example plannotator data-dir) and have the
skills call it instead of re-implementing the resolution. At minimum, document the four-step order
in the skills.
Related: #1051.
- 主要言語
- TypeScript
- スター
- 8.7k
- フォーク
- 649
- 平均マージ
- 10時間 3分
- マージ済み PR(30日)
- 618
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
backnotprop/plannotator のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
backnotprop/plannotator#2317 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
backnotprop/plannotator#2290 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
backnotprop/plannotator#2243 · コメント 2 件 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
-
Annotate documentation omits per-file version history and privacy controls再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
backnotprop/plannotator#1086 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
backnotprop/plannotator#2422 ·
メンテナーはふだん 1 日以内に返信
backnotprop/plannotator の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
Northeastern-Electric-Racing/FinishLine#4660 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
excaliburjs/Excalibur#3895 ·
メンテナーはふだん 3 日以内に返信
-
infer_audio_type only recognises one MPEG Layer III frame header, so most MP3 files are rejected対応中かも @Steve-20-ai が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
Earn report crashes with "RangeError: Invalid time value" when a report row has an unparsable timestamp対応中かも @Gurkaran18 が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
joinmarket-webui/jam#1588 ·
メンテナーはふだん 3 日以内に返信
-
BeOS .json missingオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
mihaip/infinite-mac#475 ·