Skip to content

feat: Project Setup skill#23

Merged
michalurbanek merged 8 commits into
masterfrom
feat/mu/project_setup_skill
May 11, 2026
Merged

feat: Project Setup skill#23
michalurbanek merged 8 commits into
masterfrom
feat/mu/project_setup_skill

Conversation

@michalurbanek
Copy link
Copy Markdown
Collaborator

No description provided.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a dedicated “project setup” skill and hardens the project_setup/ tooling (icons, splash, rename) so new projects created from this template can be rebranded and validated more reliably.

Changes:

  • Introduces ai/skills/flutter-template-project-setup documentation and updates the root README to reference it.
  • Improves the Dart setup tool with stricter validation, safer temp-file cleanup, and subprocess failure handling.
  • Adds/updates platform-specific generated artifacts (web splash markup, iOS/macOS icon asset metadata) and introduces Snap packaging files.

Reviewed changes

Copilot reviewed 27 out of 80 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
web/index.html Updates web splash HTML/CSS/script output.
snap/snapcraft.yaml Adds Snapcraft definition for Linux packaging.
snap/gui/flutter_app.desktop Adds desktop entry for the snap GUI integration.
README.md Splits first steps into manual vs automated and links the new skill.
project_setup/README.md Updates required icon size + adds validation notes.
project_setup/pubspec.yaml Bumps netglade_analysis for the setup tool package.
project_setup/pubspec.lock Locks netglade_analysis to the new version.
project_setup/lib/main.dart Makes setup menu loop until exit; adjusts comments.
project_setup/lib/core/util/util.dart Makes setup path handling more robust; validates hex colors.
project_setup/lib/core/util/process.dart Adds helper to run required subprocesses and fail fast on errors.
project_setup/lib/core/util/files.dart Refactors recursive file/directory replace helpers.
project_setup/lib/core/splash_screen_generator.dart Adds input validation, required-process execution, and guaranteed cleanup.
project_setup/lib/core/entity/setup_platform.dart Changes platform “all” helper to a const list.
project_setup/lib/core/entity/app_icon_variant_model.dart Simplifies nullable defaults in the model constructor.
project_setup/lib/core/app_rename.dart Adds configuration validation before performing rebranding.
project_setup/lib/core/app_icon_generator.dart Adds input validation, required-process execution, and guaranteed cleanup.
project_setup/lib/configuration.dart Makes configuration constants const and updates SetupPlatform.all usage.
project_setup/analysis_options.yaml Disables avoid_print / avoid_slow_async_io for the setup tool.
makefile Ensures dart pub get runs in project_setup/ before executing the tool.
macos/Runner/Assets.xcassets/productionReleaseAppIcon.appiconset/Contents.json Adds macOS app icon asset metadata generated by tooling.
ios/Runner/Info.plist Formatting-only change to plist contents.
ios/Runner/Assets.xcassets/stagingReleaseAppIcon.appiconset/Contents.json Reorders JSON info fields (formatting).
ios/Runner/Assets.xcassets/stagingDebugAppIcon.appiconset/Contents.json Reorders JSON info fields (formatting).
ios/Runner/Assets.xcassets/productionReleaseAppIcon.appiconset/Contents.json Reorders JSON info fields (formatting).
ios/Runner/Assets.xcassets/productionDebugAppIcon.appiconset/Contents.json Reorders JSON info fields (formatting).
ios/Runner/Assets.xcassets/developReleaseAppIcon.appiconset/Contents.json Reorders JSON info fields (formatting).
ios/Runner/Assets.xcassets/developDebugAppIcon.appiconset/Contents.json Reorders JSON info fields (formatting).
ai/skills/flutter-template-project-setup/SKILL.md Adds the new “project setup” skill instructions and workflow.
Comments suppressed due to low confidence (1)

project_setup/lib/core/util/files.dart:55

  • When includedFiles is null, _findAndReplaceTextInDirectory currently skips every file (it only processes files when includedFiles != null). If the intent is “process all files unless an allowlist is provided”, handle the includedFiles == null case by processing every file (while still respecting excludedDirs). If the intent is “always require an allowlist”, consider making includedFiles required to avoid surprising no-op calls.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread snap/snapcraft.yaml
Comment thread snap/snapcraft.yaml Outdated
Comment thread project_setup/lib/core/entity/setup_platform.dart Outdated
Comment thread project_setup/lib/main.dart Outdated
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 27 out of 80 changed files in this pull request and generated 1 comment.

Comment thread project_setup/lib/configuration.dart
@michalurbanek michalurbanek merged commit 5e63b10 into master May 11, 2026
1 check passed
@michalurbanek michalurbanek deleted the feat/mu/project_setup_skill branch May 12, 2026 06:57
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.

2 participants