project create: dynamic platform auto-complete from release registry
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- typescript
- 領域
- cli
調査の方向性
src/commands/project/create.ts から始めて、リンクされている PR の議論を読み、その後、参照されている URL の release registry のレスポンスを調べてください。記載されている slug 変換を検証し、インタラクティブな補完と非インタラクティブな出力の違いを判断してください。プラットフォームが registry から取得され、有効な識別子がインタラクティブに提案され、無効または未入力の入力に対して指定されたグループ化されたツリービューが生成されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Summary
sentry project create currently accepts a <platform> argument but provides no guidance on valid values beyond a static docs link (recently removed). Sourcing the platform list dynamically from the release registry would enable shell auto-complete in interactive sessions and a formatted tree-view in non-interactive ones.
Current behavior
The platform argument for sentry project create is a free-form string. The error message for invalid input lists available platforms but has no shell completion support. The platform list is hardcoded/static and not sourced from a live registry.
// src/commands/project/create.ts
"Run 'sentry project create <name> <platform>' with any valid Sentry platform identifier."
Gap
Users have no discoverability for valid platform identifiers at the CLI level. They must look up values externally, and the CLI cannot validate or suggest values at input time.
Options
Option A — Dynamic auto-complete + interactive tree-view
- Fetch platform slugs from
https://release-registry.services.sentry.io/sdksat runtime. - Derive platform identifiers by stripping the
sentry.prefix and converting.to-(matching the slugification logic in the Sentry monorepo). - In interactive shells: register completions so the user gets tab-completion suggestions.
- In non-interactive mode (e.g., CI, pipes): print a formatted tree-view grouped by language/category when an invalid or missing platform is supplied.
Option B — Cached static list baked at build time
- Snapshot the platform list from the registry at release time and embed it in the binary.
- Simpler implementation but goes stale between releases.
Recommendation
Option A. The release registry is the authoritative source and is already used by other Sentry tooling. Dynamic fetching keeps the list accurate without re-releases, and the interactive/non-interactive split gives the best UX in both contexts.
References
- Source comment: https://github.com/getsentry/cli/pull/237#discussion_r2879844335
- Release registry: https://release-registry.services.sentry.io/sdks
- 主要言語
- TypeScript
- スター
- 121
- フォーク
- 14
- 平均マージ
- 23時間 54分
- マージ済み PR(30日)
- 103
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
getsentry/cli のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
-
bug jared
-
jared
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
mksglu/context-mode#1200 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
jaegertracing/jaeger-ui#4506 ·
-
area:desktop area:ui bug platform:macos
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
anthropics/claude-code#96687 ·
-
good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
AOSSIE-Org/DebateAI#582 · コメント 2 件 ·