feat(core,cli): add session-scoped vibe mode with safe shell auto-approval#86
Open
BingqingLyu wants to merge 1 commit into
Open
feat(core,cli): add session-scoped vibe mode with safe shell auto-approval#86BingqingLyu wants to merge 1 commit into
BingqingLyu wants to merge 1 commit into
Conversation
This was referenced Apr 28, 2026
This was referenced May 7, 2026
Owner
Author
Conflict Group 1This PR shares modified functions with 21 other PR(s): #10, #106, #107, #112, #113, #114, #117, #14, #17, #18, #21, #22, #31, #36, #46, #7, #75, #87, #88, #9, #96. These PRs should be reviewed as a batch — merging one may affect the others.
graph LR
PR86["PR #86"]
FcreateInvocation_5521["createInvocation<br>coreToolScheduler.test.ts"]
PR86 -->|modifies| FcreateInvocation_5521
PR96["PR #96"]
PR96 -->|modifies| FcreateInvocation_5521
FisSdkMcpServerConfig_803["isSdkMcpServerConfig<br>config.ts"]
PR86 -->|modifies| FisSdkMcpServerConfig_803
PR106["PR #106"]
PR106 -->|modifies| FisSdkMcpServerConfig_803
PR112["PR #112"]
PR112 -->|modifies| FisSdkMcpServerConfig_803
PR113["PR #113"]
PR113 -->|modifies| FisSdkMcpServerConfig_803
PR114["PR #114"]
PR114 -->|modifies| FisSdkMcpServerConfig_803
PR117["PR #117"]
PR117 -->|modifies| FisSdkMcpServerConfig_803
PR18["PR #18"]
PR18 -->|modifies| FisSdkMcpServerConfig_803
PR46["PR #46"]
PR46 -->|modifies| FisSdkMcpServerConfig_803
PR75["PR #75"]
PR75 -->|modifies| FisSdkMcpServerConfig_803
PR88["PR #88"]
PR88 -->|modifies| FisSdkMcpServerConfig_803
FloadCliConfig_6977["loadCliConfig<br>config.ts"]
PR86 -->|modifies| FloadCliConfig_6977
PR106 -->|modifies| FloadCliConfig_6977
PR112 -->|modifies| FloadCliConfig_6977
PR113 -->|modifies| FloadCliConfig_6977
PR114 -->|modifies| FloadCliConfig_6977
PR117 -->|modifies| FloadCliConfig_6977
PR36["PR #36"]
PR36 -->|modifies| FloadCliConfig_6977
PR46 -->|modifies| FloadCliConfig_6977
PR75 -->|modifies| FloadCliConfig_6977
PR88 -->|modifies| FloadCliConfig_6977
FloadCommands_7884["loadCommands<br>BuiltinCommandLoader.ts"]
PR86 -->|modifies| FloadCommands_7884
PR107["PR #107"]
PR107 -->|modifies| FloadCommands_7884
PR87["PR #87"]
PR87 -->|modifies| FloadCommands_7884
PR9["PR #9"]
PR9 -->|modifies| FloadCommands_7884
PR96 -->|modifies| FloadCommands_7884
FnormalizeConfigOutputFormat_803["normalizeConfigOutputFormat<br>config.ts"]
PR86 -->|modifies| FnormalizeConfigOutputFormat_803
PR106 -->|modifies| FnormalizeConfigOutputFormat_803
PR112 -->|modifies| FnormalizeConfigOutputFormat_803
PR113 -->|modifies| FnormalizeConfigOutputFormat_803
PR114 -->|modifies| FnormalizeConfigOutputFormat_803
PR117 -->|modifies| FnormalizeConfigOutputFormat_803
PR18 -->|modifies| FnormalizeConfigOutputFormat_803
PR75 -->|modifies| FnormalizeConfigOutputFormat_803
PR88 -->|modifies| FnormalizeConfigOutputFormat_803
FparseApprovalModeValue_6977["parseApprovalModeValue<br>config.ts"]
PR86 -->|modifies| FparseApprovalModeValue_6977
PR10["PR #10"]
PR10 -->|modifies| FparseApprovalModeValue_6977
PR112 -->|modifies| FparseApprovalModeValue_6977
PR113 -->|modifies| FparseApprovalModeValue_6977
PR114 -->|modifies| FparseApprovalModeValue_6977
PR117 -->|modifies| FparseApprovalModeValue_6977
PR21["PR #21"]
PR21 -->|modifies| FparseApprovalModeValue_6977
PR22["PR #22"]
PR22 -->|modifies| FparseApprovalModeValue_6977
PR36 -->|modifies| FparseApprovalModeValue_6977
PR46 -->|modifies| FparseApprovalModeValue_6977
PR88 -->|modifies| FparseApprovalModeValue_6977
FparseArguments_6977["parseArguments<br>config.ts"]
PR86 -->|modifies| FparseArguments_6977
PR10 -->|modifies| FparseArguments_6977
PR112 -->|modifies| FparseArguments_6977
PR113 -->|modifies| FparseArguments_6977
PR114 -->|modifies| FparseArguments_6977
PR117 -->|modifies| FparseArguments_6977
PR14["PR #14"]
PR14 -->|modifies| FparseArguments_6977
PR17["PR #17"]
PR17 -->|modifies| FparseArguments_6977
PR18 -->|modifies| FparseArguments_6977
PR21 -->|modifies| FparseArguments_6977
PR22 -->|modifies| FparseArguments_6977
PR31["PR #31"]
PR31 -->|modifies| FparseArguments_6977
PR36 -->|modifies| FparseArguments_6977
PR46 -->|modifies| FparseArguments_6977
PR7["PR #7"]
PR7 -->|modifies| FparseArguments_6977
PR88 -->|modifies| FparseArguments_6977
FuseDreamRunning_7690["useDreamRunning<br>Footer.tsx"]
PR86 -->|modifies| FuseDreamRunning_7690
PR112 -->|modifies| FuseDreamRunning_7690
PR113 -->|modifies| FuseDreamRunning_7690
PR114 -->|modifies| FuseDreamRunning_7690
PR117 -->|modifies| FuseDreamRunning_7690
PR88 -->|modifies| FuseDreamRunning_7690
PR96 -->|modifies| FuseDreamRunning_7690
Posted by codegraph-ai conflict detection. |
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.
🚀 Description: Context-Aware Vibe Mode (Optional Auto-Approve)
TL;DR
This PR adds an optional Vibe Mode that auto-approves only safe, project-scoped shell commands for faster development loops. It is intentionally conservative to maintain a high security standard:
✨ Changes Included:
vibeModeApproval.tsto evaluate command safety.coreToolScheduler.tsapproval flow./vibe [on|off]slash command for real-time toggling.--vibeCLI flag for starting sessions in auto-approve mode.Footer.tsx.🛡️ Deep Dive: Safety Guardrails
To prevent accidental system damage, the following constraints are strictly enforced:
process.cwd()).npm,yarn,pnpm,bun,vitest,jest,next dev, and basicgitoperations.sudo, root-destructive patterns (rm -rf /), and sensitive path operations (e.g.,~/.ssh) always trigger manual approval.🧪 Reviewer Test Plan
/vibe onor the--vibeCLI flag.npm run dev) and verify it executes without a prompt.sudo npm install) and verify the manual approval prompt still appears.Example Checks:
npm run dev,vitest,git statussudo npm run dev,rm -rf /📊 Testing Matrix
🔗 Linked Issues