Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

fix(create): unquoted description breaks pubspec.yaml and leaves a half-generated project

オープン
#1,780 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
42/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
dart, flutter, yaml
領域
build-system, cli

調査の方向性

The issue identifies the create command and the description: {{{description}}} line in the very_good_core, very_good_flutter_package, and very_good_dart_package templates; their sources are in VeryGoodOpenSource/very_good_templates. Start by locating those template definitions and the post-generation pub get and failure classification paths. Done means descriptions with : produce valid pubspec.yaml, invalid inputs fail before files are written, and YAML or input errors are reported as validation.

索引モデルが issue の本文から書いたものです。

説明

bug
Description

create writes the description argument into the generated pubspec.yaml without quoting it. A description that contains ": " produces invalid YAML. The files are generated first, so the failure surfaces only at the post-generation pub get, which leaves a half-generated project on disk:

threw an exception: Instance of '_WrappedYamlException'
partialResults: ✓ Generated 26 file(s) (69ms)
                ✗ Running "flutter pub get" in .  (1ms)

The template line is description: {{{description}}} (triple-stash, so no escaping). I decoded the bundled bricks on main (8c772f3) and found it in very_good_core, very_good_flutter_package and very_good_dart_package. The brick sources live in VeryGoodOpenSource/very_good_templates.

The exception also comes back as failureType: "transient", which tells the agent to retry. A retry with the same description fails the same way.

Steps To Reproduce
  1. Call the MCP create tool (or very_good create dart_package) with a description containing a colon followed by a space, for example "Sign-in client: Google Identity wrapper".
  2. Observe _WrappedYamlException after ✓ Generated N file(s).
  3. Open the output directory: the package exists but pubspec.yaml does not parse and dependencies were never fetched.
Expected Behavior
  • The generated pubspec.yaml is valid for any description string, by quoting the value in the templates (e.g. description: "{{description}}" with appropriate escaping) or by emitting the field through a YAML serializer.
  • Inputs that cannot be rendered are rejected before any file is written, so a failure never leaves a partial project behind.
  • A YAML or input error is reported as validation, not transient.
Additional Context
  • 9 of 9 field create calls whose description contained ": " failed this way, across flutter_app, flutter_package and dart_package. Every description without a colon succeeded. Sessions b53095da, 83389958, eed4e6dc, faaff58a (2026-10-04); excerpts on request.

  • VeryGoodOpenSource/vgv-ai-flutter-plugin#171 attributed these exceptions to a stale snapshot after a Dart upgrade. The data rules that out: the same failures occurred in session eed4e6dc, which started after the snapshot was rebuilt.

  • very_good_cli 1.5.0, Dart 3.13.5, Flutter 3.47.6, macOS 26.5 arm64.

  • Tracking issue: VeryGoodOpenSource/vgv-ai-flutter-plugin#180

主要言語
Dart
スター
2.4k
フォーク
244
平均マージ
1日 18時間
マージ済み PR(30日)
27

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

VeryGoodOpenSource/very_good_cli のほかの issue

VeryGoodOpenSource/very_good_cli の issue をすべて見る

似ている issue

Dart の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。