Skip to content

feat(cmd): auto-sync manifest from remote when creating with --app - #677

Open
srtaalej wants to merge 5 commits into
mainfrom
ale-consolidate-create-sync
Open

srtaalej wants to merge 5 commits into
mainfrom
ale-consolidate-create-sync

Conversation

@srtaalej

@srtaalej srtaalej commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Changelog

slack create --app now automatically syncs the manifest from app settings to the local project.

Summary

The CLI handoff from app settings to local development currently requires two commands: slack create --app ... --template ... followed by slack manifest sync. This PR consolidates them — when --app is passed to slack create, the remote manifest is fetched from app settings and written to the local project after linking.

Changes:

  • LinkExistingApp now returns the auth token so callers can use it for follow-up API calls
  • After linking an app during create, the remote manifest is fetched via GetManifestRemote and written locally via WriteManifestLocal
  • If the fetch or write fails, a warning is shown with instructions to run slack manifest sync --manifest-source=remote manually

Preview

No UI changes — output is the same as before, minus the need for a separate slack manifest sync step.

Testing

  1. Go to https://api.slack.com/apps and create a new app through the "Create New App" flow
  2. Note the App ID and Team ID from the app settings page
  3. Build the CLI: make build
  4. Run:
    ./bin/slack create --template slack-samples/bolt-js-starter-template --app <APP_ID> --name "test-create-sync" --team <TEAM_ID> --environment local
    
  5. cd into the created project and run ./bin/slack run
  6. Verify there is no manifest sync prompt — the project manifest should already match app settings

Notes

  • The manifest fetch/write error is non-blocking — if it fails, the project is still usable and the user can run slack manifest sync --manifest-source=remote manually
  • manifest.Sync is unchanged — the create flow inlines only the fetch and write steps since it always uses remote as the source of truth

Requirements

@codecov

codecov Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 66.66667% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 78.19%. Comparing base (fcb0782) to head (944e498).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
cmd/project/create.go 55.55% 4 Missing ⚠️
cmd/app/link.go 80.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #677      +/-   ##
==========================================
- Coverage   78.19%   78.19%   -0.01%     
==========================================
  Files         239      239              
  Lines       18132    18139       +7     
==========================================
+ Hits        14178    14183       +5     
- Misses       3954     3956       +2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@srtaalej srtaalej self-assigned this Sep 24, 2026
@srtaalej srtaalej added enhancement M-T: A feature request for new functionality semver:minor Use on pull requests to describe the release version increment labels Sep 24, 2026
@srtaalej srtaalej added this to the Next Release milestone Sep 24, 2026
@srtaalej
srtaalej marked this pull request as ready for review September 24, 2026 17:45
@srtaalej
srtaalej requested a review from a team as a code owner September 24, 2026 17:45
@srtaalej srtaalej changed the title feat: auto-sync manifest from remote when creating with --app feat(cmd): auto-sync manifest from remote when creating with --app Sep 24, 2026
@srtaalej
srtaalej requested review from mwbrooks and zimeg September 24, 2026 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement M-T: A feature request for new functionality semver:minor Use on pull requests to describe the release version increment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant