-
-
Notifications
You must be signed in to change notification settings - Fork 6.2k
feat(config): add opt-in activation mode with layered control #667
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
JasonOA888
wants to merge
7
commits into
obra:main
Choose a base branch
from
JasonOA888:feat/opt-in-activation-mode
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+397
−21
Open
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
4f4f196
feat(config): add opt-in activation mode with layered control
JasonOA888 11e35da
fix(config): address all CodeRabbit review feedback
JasonOA888 75393e3
fix(config): opt-in override properly enables when marker exists
JasonOA888 60473a7
fix(config): complete newline fixes and opt-in override
JasonOA888 5c43410
fix(config): complete all newline and mode handling fixes
JasonOA888 c00e617
fix(config): fix critical syntax errors in string quoting
JasonOA888 3268874
fix(config): fix SESSION_CONTEXT JSON and improve disable detection
JasonOA888 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,144 @@ | ||
| # Activation Modes | ||
|
|
||
| Superpowers supports multiple activation modes to fit your workflow. | ||
|
|
||
| ## Modes | ||
|
|
||
| ### `always` (Default) | ||
| Superpowers activates on every session. Maximum automation. | ||
|
|
||
| ```yaml | ||
| # .superpowers/config.yaml | ||
| activation: | ||
| mode: always | ||
| ``` | ||
|
|
||
| ### `opt-in` | ||
| Superpowers only activates when explicitly enabled. | ||
|
|
||
| ```yaml | ||
| activation: | ||
| mode: opt-in | ||
| ``` | ||
|
|
||
| Then create the enable marker: | ||
| ```bash | ||
| touch .superpowers/enabled | ||
| ``` | ||
|
|
||
| ### `opt-out` | ||
| Superpowers activates unless explicitly disabled. | ||
|
|
||
| ```yaml | ||
| activation: | ||
| mode: opt-out | ||
| ``` | ||
|
|
||
| To disable for a specific project: | ||
| ```bash | ||
| touch .superpowers/disabled | ||
| ``` | ||
|
|
||
| ### `never` | ||
| Superpowers never activates (but remains installed). | ||
|
|
||
| ```yaml | ||
| activation: | ||
| mode: never | ||
| ``` | ||
|
|
||
| ## Activation Levels | ||
|
|
||
| Control how much of Superpowers loads: | ||
|
|
||
| ### `full` (Default) | ||
| Complete workflow: brainstorming, TDD, subagent-driven-development, etc. | ||
|
|
||
| ```yaml | ||
| activation: | ||
| level: full | ||
| ``` | ||
|
|
||
| ### `lightweight` | ||
| Only core skills: brainstorming, using-superpowers. | ||
|
|
||
| ```yaml | ||
| activation: | ||
| level: lightweight | ||
| ``` | ||
|
|
||
| ### `minimal` | ||
| Only using-superpowers skill. | ||
|
|
||
| ```yaml | ||
| activation: | ||
| level: minimal | ||
| ``` | ||
|
|
||
| ## Context-Aware Activation | ||
|
|
||
| Superpowers can adapt based on git context: | ||
|
|
||
| ```yaml | ||
| activation: | ||
| context_aware: | ||
| # Don't activate when on main/master branch | ||
| disable_on_main_branch: true | ||
|
|
||
| # Use lightweight mode in detached HEAD | ||
| lightweight_on_detached_head: true | ||
|
|
||
| # Only activate in git repositories | ||
| require_git_repo: true | ||
| ``` | ||
|
|
||
| ## Per-Skill Control | ||
|
|
||
| Fine-grained control over individual skills: | ||
|
|
||
| ```yaml | ||
| skills: | ||
| brainstorming: | ||
| enabled: true | ||
| auto_trigger: true | ||
|
|
||
| test-driven-development: | ||
| enabled: true | ||
| enforce_red_green_refactor: true | ||
|
|
||
| dispatching-parallel-agents: | ||
| enabled: false # Disable advanced feature | ||
| ``` | ||
|
|
||
| ## Environment Variable Override | ||
|
|
||
| Quick toggle without editing config: | ||
|
|
||
| ```bash | ||
| # Disable for this session | ||
| export SUPERPOWERS_MODE=disabled | ||
|
|
||
| # Force enable | ||
| export SUPERPOWERS_MODE=enabled | ||
| ``` | ||
|
|
||
| ## Commands | ||
|
|
||
| In Claude Code, use these commands: | ||
|
|
||
| - `/superpowers on` - Enable for this project | ||
| - `/superpowers off` - Disable for this project | ||
| - `/superpowers level full|lightweight|minimal` - Change activation level | ||
| - `/superpowers status` - Show current configuration | ||
|
|
||
| ## Migration from Older Versions | ||
|
|
||
| If you have custom skills in `~/.config/superpowers/skills`, move them: | ||
|
|
||
| ```bash | ||
| mkdir -p ~/.claude/skills | ||
| mv ~/.config/superpowers/skills/* ~/.claude/skills/ | ||
| rmdir ~/.config/superpowers/skills | ||
| ``` | ||
|
|
||
| This removes the migration warning from startup. |
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.