@@ -86,6 +86,7 @@ const SUGGESTIBLE_COMMANDS = [
8686 'doctor' ,
8787 'report' ,
8888 'copy-prompt' ,
89+ 'copy-commands' ,
8990 'protect' ,
9091 'sync' ,
9192 'release' ,
@@ -102,6 +103,7 @@ const CLI_COMMAND_DESCRIPTIONS = [
102103 [ 'doctor' , 'Repair safety setup drift, then verify repo safety' ] ,
103104 [ 'report' , 'Generate security/safety reports (for example: OpenSSF scorecard)' ] ,
104105 [ 'copy-prompt' , 'Print the AI-ready setup checklist' ] ,
106+ [ 'copy-commands' , 'Print setup checklist as executable commands only' ] ,
105107 [ 'protect' , 'Manage protected branches (list/add/remove/set/reset)' ] ,
106108 [ 'sync' , 'Check or sync agent branches with origin/<base>' ] ,
107109 [ 'install' , 'Install templates/locks/hooks without running full setup (supports --no-gitignore)' ] ,
@@ -145,6 +147,18 @@ const AI_SETUP_PROMPT = `Use this exact checklist to setup multi-agent safety in
145147 musafety sync
146148` ;
147149
150+ const AI_SETUP_COMMANDS = `npm i -g musafety
151+ musafety setup
152+ musafety doctor
153+ bash scripts/agent-branch-start.sh "task" "agent-name"
154+ python3 scripts/agent-file-locks.py claim --branch "$(git rev-parse --abbrev-ref HEAD)" <file...>
155+ bash scripts/agent-branch-finish.sh --branch "$(git rev-parse --abbrev-ref HEAD)"
156+ bash scripts/openspec/init-plan-workspace.sh "<plan-slug>"
157+ musafety protect add release staging
158+ musafety sync --check
159+ musafety sync
160+ ` ;
161+
148162const SCORECARD_RISK_BY_CHECK = {
149163 'Dangerous-Workflow' : 'Critical' ,
150164 'Code-Review' : 'High' ,
@@ -2062,6 +2076,11 @@ function copyPrompt() {
20622076 process . exitCode = 0 ;
20632077}
20642078
2079+ function copyCommands ( ) {
2080+ process . stdout . write ( AI_SETUP_COMMANDS ) ;
2081+ process . exitCode = 0 ;
2082+ }
2083+
20652084function sync ( rawArgs ) {
20662085 const options = parseSyncArgs ( rawArgs ) ;
20672086 const repoRoot = resolveRepoRoot ( options . target ) ;
@@ -2395,6 +2414,11 @@ function main() {
23952414 return ;
23962415 }
23972416
2417+ if ( command === 'copy-commands' ) {
2418+ copyCommands ( ) ;
2419+ return ;
2420+ }
2421+
23982422 if ( command === 'protect' ) {
23992423 protect ( rest ) ;
24002424 return ;
0 commit comments