feature(github): repo clone with config setup#74
Open
marlonmarcello wants to merge 6 commits into
Open
Conversation
🦋 Changeset detectedLatest commit: 184c51c The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR extends the GitHub repo creation flow (TUI + CLI) to optionally clone the newly created repo, generate a .wtc.yaml with Teamwork bootstrap settings, commit + push it, and only then apply repo rules/settings—making new repos immediately usable as WTC projects.
Changes:
- Add a
createGitHubRepoWorkflow()that optionally bootstraps a freshly created repo (clone → write.wtc.yaml→ commit/push) before applying repo rules. - Add Teamwork helpers for task-list parsing and discovery (General Tasks list + Code Review task), and wire them into both the TUI and CLI repo creation flows.
- Update plans/docs + changeset to reflect Phase 6.4 completion and the new workflow.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| src/utils/git.ts | Adds git helpers for remote readiness wait, clone, commit, and push used by bootstrap workflow. |
| src/tui/pages/github.tsx | Extends TUI repo creation with optional Teamwork bootstrap prompts + workflow execution. |
| src/cli/commands/repo.ts | Adds --setup-teamwork flow and supporting flags; routes through new workflow when enabled. |
| src/cli/commands/repo-command.ts | Exposes new CLI flags (--setup-teamwork, --clone-dir, --teamwork-project-id, etc.). |
| src/api/teamwork/tasks.ts | Adds task-list reference parsing (getTeamworkTaskListReference). |
| src/api/teamwork/task.ts | Refactors task fetching to support a “summary” read path and optional project metadata. |
| src/api/teamwork/task-lists.ts | New Teamwork task-list/task discovery utilities used for bootstrap defaults. |
| src/api/github/repos.ts | Bumps template cache version and filters archived repos from template selection. |
| src/api/github/repo-creation-workflow.ts | New orchestrated workflow: create repo → optional bootstrap → apply setup/rules → return warnings. |
| src/api/github/repo-bootstrap.ts | New bootstrap implementation: clone repo, write .wtc.yaml, commit, push. |
| plans/PLAN.md | Marks Phase 6.4 as completed and updates phase descriptions. |
| plans/github/README.md | Updates subphase status and descriptions to match current implementation. |
| plans/github/6.5-teamwork-project-linking-and-final-polish.md | Adds new Phase 6.5 plan doc. |
| plans/github/6.5-local-clone-and-final-features.md | Removes outdated Phase 6.5 doc. |
| plans/github/6.4-teamwork-project-linking.md | Removes outdated Phase 6.4 doc. |
| plans/github/6.4-local-clone-and-wtc-project-bootstrap.md | Adds new Phase 6.4 plan doc matching implementation. |
| plans/github/6.3-repo-rules.md | Updates Phase 6.3 doc to “complete” and clarifies implemented scope. |
| plans/github/6.2-cli-repo-creation.md | Updates Phase 6.2 doc to “complete” and reflects actual flags/behavior. |
| plans/github/6.1-tui-repo-creation-from-template.md | Updates Phase 6.1 doc to “complete” and reflects rules preset + warnings. |
| .nvmrc | Pins Node version for local dev consistency. |
| .changeset/hip-bags-laugh.md | Adds a patch changeset describing the new CLI cloning/Teamwork setup behavior. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR extends the repo creation feature with a way to initialize the new repo with teamwork settings right out of the gate.
Hopefully making it easier to bootstrap a new project.
We can probably extend this further even to allow to add the pinned task lists and project links as well but I thought that these 3 the Project ID, the General Tasklist ID and Code Review ID were enough to start and were the most important ones since we all have to share them.
Type of Change
Local Verification
bun run fmtbun run lintbun run checkbun run buildRelease Impact
.changeset/