Add dotbot package command for syncing .bot changes back to source repo#70
Closed
ap-cbilgin wants to merge 1 commit intoandresharpe:mainfrom
Closed
Add dotbot package command for syncing .bot changes back to source repo#70ap-cbilgin wants to merge 1 commit intoandresharpe:mainfrom
dotbot package command for syncing .bot changes back to source repo#70ap-cbilgin wants to merge 1 commit intoandresharpe:mainfrom
Conversation
Added package.ps1 to .bot for packaging framework files back to the dotbot source repo. Updated install-global.ps1 to introduce a 'package' CLI command, help text, and Invoke-Package function to run the packaging script. Supports optional archive creation and IDE sync.
Owner
|
I do this differently and a bit safer. Here is my workflow.
this ensures no project specific edits corrupt the main dotbot-v3 repo and makes the changes one way from dotbot to any project.. |
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.
Problem
When developing dotbot, changes are made inside the
.bot/directory of a live project. However,dotbot initis a one-way operation — it copies fromprofiles/default/into the project's.bot/, but there's no built-in way to copy changes back. This means after iterating on systems, prompts, workflows, or UI within a project, developers must manually identify and copy modified files back to the dotbot source repo'sprofiles/default/directory. This is tedious, error-prone, and doesn't scale.Solution
Introduces a new
dotbot packagecommand that reverses the init flow:New file:
.bot/package.ps1A PowerShell script that packages framework files from a project's
.bot/back to the dotbot source repo, with smart filtering to exclude project-specific state.What gets packaged (framework files):
systems/— MCP server, runtime engine, web UIprompts/— agents, skills, workflows, includeshooks/— dev, verify, scriptsdefaults/— settings, providers, themego.ps1,init.ps1,package.ps1TEMPLATE.json, sample tasks)What gets excluded (project-specific state):
workspace/content — tasks, ADRs, sessions, plans, product docs.control/— runtime state, process registry, logs.worktrees/— git worktrees for task isolation*.log,*.jsonl,*.tmpfilesFeatures:
[NEW]/[UPDATE]labels)-DryRun— preview all changes before applying-SyncFromIDE— pulls agent/skill edits from.claude/back into.bot/prompts/before packaging (useful when agents are edited directly in IDE directories)-Archive— creates a timestamped.zipfor distribution instead of copying to a directory-Force— skip hash checks and overwrite everythingprofiles/before proceedingCLI integration:
install-global.ps1dotbot packageto the CLI wrapper's command switch and help text.bot/package.ps1, so it always uses the version matching the project's dotbot installationUsage
Example output (dry run)
Test plan
.bot\package.ps1 -Target C:\dotbot-install -DryRun— verify correct[NEW]/[UPDATE]labeling.bot\package.ps1 -Target C:\dotbot-install— verify files are copied toprofiles/default/.bot\package.ps1 -Archive— verify zip is created with correct structure.bot\package.ps1 -SyncFromIDE -DryRun— verify IDE agent changes are detected-Target— verify helpful error message is showndotbot init -Forcein a fresh project — verify round-trip works