-
Notifications
You must be signed in to change notification settings - Fork 2
automaintainer: search for and add new CLI tools as bundled plugins to supe… #3
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| { | ||
| "plugin": "dotbot", | ||
| "binary": "dotbot", | ||
| "check": "which dotbot", | ||
| "install_steps": [ | ||
| "pip install dotbot", | ||
| "Or: brew install dotbot", | ||
| "Or: uv tool install dotbot", | ||
| "Verify: dotbot --version", | ||
| "supercli plugins install ./plugins/dotbot --on-conflict replace --json" | ||
| ], | ||
| "note": "Source: https://github.com/anishathalye/dotbot (7k+ stars). Written in Python. Also available via pip, brew, and as a git submodule." | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| { | ||
| "description": "Dotfile bootstrapping tool that makes installing dotfiles as easy as git clone && ./install. Supports declarative YAML/JSON configs with link, create, shell, clean directives. Plugin system for extensibility. Works on any freshly installed system with zero external dependencies.", | ||
| "tags": ["dotbot", "dotfiles", "configuration", "python", "bootstrapping", "productivity", "backup"], | ||
| "has_learn": true | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,218 @@ | ||
| { | ||
| "name": "dotbot", | ||
| "version": "0.1.0", | ||
| "description": "Dotfile bootstrapping tool — link, create, shell, and clean for declarative dotfile management", | ||
| "source": "https://github.com/anishathalye/dotbot", | ||
| "checks": [ | ||
| { | ||
| "type": "binary", | ||
| "name": "dotbot" | ||
| } | ||
| ], | ||
| "install_guidance": { | ||
| "plugin": "dotbot", | ||
| "binary": "dotbot", | ||
| "check": "which dotbot", | ||
| "install_steps": [ | ||
| "pip install dotbot", | ||
| "Or: brew install dotbot", | ||
| "Or: uv tool install dotbot", | ||
| "Verify: dotbot --version", | ||
| "supercli plugins install ./plugins/dotbot --on-conflict replace --json" | ||
| ], | ||
| "note": "Source: https://github.com/anishathalye/dotbot (7k stars). Written in Python." | ||
| }, | ||
| "learn": { | ||
| "file": "skills/quickstart/SKILL.md" | ||
| }, | ||
| "commands": [ | ||
| { | ||
| "namespace": "dotbot", | ||
| "resource": "self", | ||
| "action": "version", | ||
| "description": "Print dotbot version", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "dotbot", | ||
| "missingDependencyHelp": "Install dotbot: pip install dotbot", | ||
| "baseArgs": ["--version"] | ||
| }, | ||
| "args": [] | ||
| }, | ||
| { | ||
| "namespace": "dotbot", | ||
| "resource": "install", | ||
| "action": "run", | ||
| "description": "Install dotfiles using a configuration file", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "dotbot", | ||
| "missingDependencyHelp": "Install dotbot: pip install dotbot", | ||
| "baseArgs": [], | ||
| "passthrough": true | ||
| }, | ||
| "args": [ | ||
| { | ||
| "name": "config", | ||
| "type": "string", | ||
| "required": true, | ||
| "description": "Path to configuration file (e.g. install.conf.yaml)" | ||
| }, | ||
| { | ||
| "name": "dry-run", | ||
| "type": "boolean", | ||
| "required": false, | ||
| "description": "Show what would be done without making changes" | ||
| }, | ||
| { | ||
| "name": "only", | ||
| "type": "string", | ||
| "required": false, | ||
| "description": "Only run specified directives (comma-separated)" | ||
| }, | ||
| { | ||
| "name": "except", | ||
| "type": "string", | ||
| "required": false, | ||
| "description": "Run all directives except specified ones (comma-separated)" | ||
| }, | ||
| { | ||
| "name": "plugin", | ||
| "type": "string", | ||
| "required": false, | ||
| "description": "Load a plugin (can be specified multiple times)" | ||
| }, | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| { | ||
| "name": "base-directory", | ||
| "type": "string", | ||
| "required": false, | ||
| "description": "Base directory for dotfiles (defaults to config file directory)" | ||
| } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "dotbot", | ||
| "resource": "install", | ||
| "action": "link", | ||
| "description": "Run only the link directive from a config file", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "dotbot", | ||
| "missingDependencyHelp": "Install dotbot: pip install dotbot", | ||
| "baseArgs": ["--only", "link"] | ||
| }, | ||
| "args": [ | ||
| { | ||
| "name": "config", | ||
| "type": "string", | ||
| "required": true, | ||
| "description": "Path to configuration file" | ||
|
Comment on lines
+104
to
+109
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The dotbot wrapper exposes a required Useful? React with 👍 / 👎. |
||
| }, | ||
| { | ||
| "name": "dry-run", | ||
| "type": "boolean", | ||
| "required": false, | ||
| "description": "Dry run without making changes" | ||
| } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "dotbot", | ||
| "resource": "install", | ||
| "action": "shell", | ||
| "description": "Run only the shell directive from a config file", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "dotbot", | ||
| "missingDependencyHelp": "Install dotbot: pip install dotbot", | ||
| "baseArgs": ["--only", "shell"] | ||
| }, | ||
| "args": [ | ||
| { | ||
| "name": "config", | ||
| "type": "string", | ||
| "required": true, | ||
| "description": "Path to configuration file" | ||
| }, | ||
| { | ||
| "name": "dry-run", | ||
| "type": "boolean", | ||
| "required": false, | ||
| "description": "Dry run without making changes" | ||
| } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "dotbot", | ||
| "resource": "install", | ||
| "action": "create", | ||
| "description": "Run only the create directive from a config file", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "dotbot", | ||
| "missingDependencyHelp": "Install dotbot: pip install dotbot", | ||
| "baseArgs": ["--only", "create"] | ||
| }, | ||
| "args": [ | ||
| { | ||
| "name": "config", | ||
| "type": "string", | ||
| "required": true, | ||
| "description": "Path to configuration file" | ||
| }, | ||
| { | ||
| "name": "dry-run", | ||
| "type": "boolean", | ||
| "required": false, | ||
| "description": "Dry run without making changes" | ||
| } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "dotbot", | ||
| "resource": "install", | ||
| "action": "clean", | ||
| "description": "Run only the clean directive from a config file", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "dotbot", | ||
| "missingDependencyHelp": "Install dotbot: pip install dotbot", | ||
| "baseArgs": ["--only", "clean"] | ||
| }, | ||
| "args": [ | ||
| { | ||
| "name": "config", | ||
| "type": "string", | ||
| "required": true, | ||
| "description": "Path to configuration file" | ||
| }, | ||
| { | ||
| "name": "dry-run", | ||
| "type": "boolean", | ||
| "required": false, | ||
| "description": "Dry run without making changes" | ||
| } | ||
| ] | ||
| }, | ||
| { | ||
| "namespace": "dotbot", | ||
| "resource": "_", | ||
| "action": "_", | ||
| "description": "_ _ via dotbot", | ||
| "adapter": "process", | ||
| "adapterConfig": { | ||
| "command": "dotbot", | ||
| "missingDependencyHelp": "Install dotbot: pip install dotbot", | ||
| "passthrough": true | ||
| }, | ||
| "args": [ | ||
| { | ||
| "name": "args", | ||
| "type": "string", | ||
| "required": false, | ||
| "description": "Additional dotbot arguments" | ||
| } | ||
| ] | ||
| } | ||
| ] | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,47 @@ | ||
| --- | ||
| name: dotbot | ||
| description: Use this skill when the user wants to manage dotfiles, bootstrap configuration, create symbolic links, or automate dotfile installation using dotbot. | ||
| --- | ||
|
|
||
| # Dotbot Plugin | ||
|
|
||
| Dotfile bootstrapping tool that makes installing dotfiles as easy as `git clone && ./install`. Uses declarative YAML/JSON configuration files with link, create, shell, and clean directives. | ||
|
|
||
| ## Commands | ||
|
|
||
| ### Installation | ||
| - `dotbot install run` — Run dotbot with a configuration file (supports --dry-run, --only, --except) | ||
| - `dotbot install link` — Run only the link directive from a config file | ||
| - `dotbot install shell` — Run only the shell directive from a config file | ||
| - `dotbot install create` — Run only the create directive from a config file | ||
| - `dotbot install clean` — Run only the clean directive from a config file | ||
|
|
||
| ## Usage Examples | ||
| - "dotbot -c install.conf.yaml" | ||
| - "dotbot -c install.conf.yaml --dry-run" | ||
| - "dotbot -c install.conf.yaml --only link" | ||
|
|
||
| ## Installation | ||
|
|
||
| ```bash | ||
| pip install dotbot | ||
| ``` | ||
|
|
||
| ## Examples | ||
|
|
||
| ```bash | ||
| dotbot --version | ||
| dotbot -c install.conf.yaml | ||
| dotbot -c install.conf.yaml --dry-run | ||
| dotbot -c install.conf.yaml --only link,create | ||
| dotbot -c install.conf.yaml --except shell | ||
| ``` | ||
|
|
||
| ## Key Features | ||
| - Declarative YAML/JSON configuration | ||
| - Symbolic and hard link management | ||
| - Directory creation with mode support | ||
| - Shell command execution with descriptions | ||
| - Dead symlink cleanup | ||
| - Extensive plugin system | ||
| - Dry-run support for safe testing |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| { | ||
| "plugin": "gum", | ||
| "binary": "gum", | ||
| "check": "which gum", | ||
| "install_steps": [ | ||
| "brew install gum", | ||
| "Or: go install github.com/charmbracelet/gum@latest", | ||
| "Or download from https://github.com/charmbracelet/gum/releases", | ||
| "Verify: gum --version", | ||
| "supercli plugins install ./plugins/gum --on-conflict replace --json" | ||
| ], | ||
| "note": "Gum is part of the Charm ecosystem. Source: https://github.com/charmbracelet/gum (18k+ stars). Written in Go." | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| { | ||
| "description": "A tool for glamorous shell scripts — style, format, join, and render tables with charm. Features color styling, markdown formatting, table rendering, file picker, and interactive prompts. Part of the Charm ecosystem.", | ||
| "tags": ["gum", "shell", "terminal", "styling", "formatting", "go", "charmbracelet", "interactive"], | ||
| "has_learn": true | ||
| } |
Uh oh!
There was an error while loading. Please reload this page.