-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Add composure metadata to 27 completions and 2 plugins #2359
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
Merged
seefood
merged 19 commits into
Bash-it:master
from
seefood:feature/add-composure-metadata
Oct 15, 2025
Merged
Add composure metadata to 27 completions and 2 plugins #2359
seefood
merged 19 commits into
Bash-it:master
from
seefood:feature/add-composure-metadata
Oct 15, 2025
+395
−15
Conversation
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
Addresses issue Bash-it#1680 by adding `cite`, `about-*`, `group`, and `url` metadata to components missing documentation. This improves discoverability via `bash-it help` and provides foundation for automated documentation generation. **Completions documented (27):** - Package managers: pip, pip3, pipenv, bundler, maven, gradle, cargo - Build tools: grunt, gulp, rake, gradle - DevOps: awscli, docker-compose, docker-machine, vagrant, virtualbox - Version control: git, svn, hub - Deployment: capistrano, fabric, invoke - Frameworks: flutter, dart, ng (Angular), laravel - Tools: tmux, ssh, bash-it **Plugins documented (2):** - alias-completion (deprecated stub) - colors (ANSI color functions) **Metadata fields added:** - `cite "about-completion"` - marks as documented component - `about-completion "description"` - tool description - `group "category"` - categorization (python, javascript, deployment, etc.) - `url "homepage"` - project URL (selected files) **Remaining work:** Created `completion/available/TODO_COMPOSURE_METADATA.md` listing 30 completions that need human review for accurate descriptions. **Coverage improvement:** - Plugins: 79/81 → 81/81 (100%) ✅ - Aliases: 50/50 (100%) ✅ - Completions: 31/88 → 58/88 (66%) Related to Bash-it#1680 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Changed 'dependency management' to 'dependency' to prevent maven from appearing in ruby-related searches. The word 'management' contains 'gem' which causes false positives in bash-it search. Also added 'java' group for better categorization. Fixes failing search tests: - search: ruby gem bundle rake rails - search: rails ruby gem bundler rake -chruby
Relocate the documentation TODO file from completion/available/ to docs/ for better discoverability alongside other project documentation.
akinomyoga
reviewed
Oct 14, 2025
Extended composure metadata for all 32 documented completions: - Added 'url' field linking to official project homepages - Added 'group' field for categorization where missing Groups added: - version-control: git, svn, hub - docker: docker-compose, docker-machine - python: pip, pip3, pipenv, invoke - ruby: bundler, rake, gem - java: maven, gradle - javascript: grunt, gulp, ng, lerna - php: laravel, artisan, composer - deployment: capistrano, fabric - cloud: awscli - networking: ssh - terminal: tmux - virtualization: vagrant, virtualbox - package-manager: brew - mobile: flutter, dart - bash-it: bash-it This provides better searchability and makes it easier for users to find project documentation and related tools. Related to Bash-it#1680
Extend composure with 'url' metadata function to support the URL fields added to completion metadata. This allows components to link to their official project homepages. The url() function is defined as a no-op (like other composure metadata functions) and is used for documentation purposes in completion files. Fixes the undefined 'url' function issue when sourcing completions.
Implements feature request from issue Bash-it#2184 to show reference URLs for components when listing them with the `bash-it show` command. **Changes:** - Added --verbose/-v flag support to `bash-it show` command - Modified _bash-it-describe() to display URL column when verbose mode is active - Updated _bash-it-aliases(), _bash-it-plugins(), _bash-it-completions() to pass through arguments to _bash-it-describe() - Fixed _help-completions() to pass arguments to maintain argument flow - Updated bash-it() help text with verbose flag examples **Usage:** ```bash bash-it show aliases --verbose bash-it show plugins -v bash-it show completions --verbose ``` **Example Output:** ``` Completion Enabled? Description URL git [ ] git - distributed version control system https://git-scm.com/ docker-compose [ ] docker-compose - tool for defining... https://docs.docker.com/compose/ ``` Fixes Bash-it#2184 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Co-authored-by: Koichi Murase <[email protected]>
…ash-it into feature/add-composure-metadata * 'feature/add-composure-metadata' of github.com:seefood/bash-it: Update completion/available/docker-compose.completion.bash
Completes comprehensive URL metadata coverage across all bash-it components to support the --verbose flag in `bash-it show` command (issue Bash-it#2184). **Changes:** - Added URL metadata to all 50 alias files - Added URL metadata to all 81 plugin files - URL references point to official documentation or project homepages - Bash-it specific utilities reference the bash-it GitHub repository **URL Categories:** - Tool/Service Documentation: Official docs for external tools (git, docker, etc.) - Project Repositories: GitHub URLs for open-source projects - Framework Homepages: Official sites for frameworks (Rails, Laravel, etc.) - Bash-it Utilities: Bash-it GitHub URL for internal utilities **Impact:** Users can now run `bash-it show aliases --verbose`, `bash-it show plugins --verbose`, and `bash-it show completions --verbose` to see reference URLs for all components. Related to issue Bash-it#2184 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Fixes BATS test failures where url() was undefined when completion/plugin files were sourced directly in tests without loading bash_it.sh. **Problem:** When test files source completions/plugins directly, they don't load bash_it.sh, which means the url() function is defined but not registered with composure. This causes "url: command not found" errors in tests. **Solution:** Added `url` to the `cite` declaration alongside other metadata functions like _about, _param, _group, etc. This registers url() with composure's metadata system, making it available even when files are sourced independently. **Before:** ```bash cite _about _param _example _group _author _version ``` **After:** ```bash cite _about _param _example _group _author _version url ``` Fixes test failures in: - test/completion/aliases.completion.bats - test/completion/bash-it.completion.bats - test/completion/capistrano.completion.bats - test/plugins/base.plugin.bats - test/plugins/cmd-returned-notify.plugin.bats - test/plugins/ruby.plugin.bats - test/plugins/xterm.plugin.bats 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]>
Fixes "url: command not found" errors in BATS tests by ensuring the url()
metadata function is defined in the test environment.
**Problem:**
Tests load composure and cite metadata functions, but didn't define the
url() function itself. When completion/plugin files called url(), it failed
with "command not found" because the function didn't exist.
**Solution:**
Added url() function definition to test/test_helper.bash before loading any
completion/plugin files, mirroring the setup in bash_it.sh.
**Changes:**
- Added `url() { :; }` to test_helper.bash:48
- Added `url` to the cite declaration in test_helper.bash:50
- This ensures url() is available in all BATS test contexts
**Impact:**
All 274 BATS tests now pass, including tests that directly load
completion/plugin files with URL metadata.
Fixes test failures in:
- test/completion/aliases.completion.bats
- test/completion/bash-it.completion.bats
- test/completion/capistrano.completion.bats
- test/plugins/base.plugin.bats
- test/plugins/cmd-returned-notify.plugin.bats
- test/plugins/ruby.plugin.bats
- test/plugins/xterm.plugin.bats
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
62572d3 to
9f7c09e
Compare
akinomyoga
reviewed
Oct 15, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM except for the following cosmetic suggestions!
Co-authored-by: Koichi Murase <[email protected]>
Co-authored-by: Koichi Murase <[email protected]>
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.
Summary
Addresses issue #1680 by adding composure metadata to undocumented components, improving discoverability and laying groundwork for automated documentation generation.
Changes
Completions Documented (27)
Package Managers:
Build Tools:
DevOps:
Version Control:
Deployment:
Frameworks:
Tools:
Plugins Documented (2)
alias-completion- deprecated compatibility stubcolors- ANSI color code functionsMetadata Fields
Added the following composure fields:
cite "about-completion"- marks component as documentedabout-completion "description"- concise tool descriptiongroup "category"- categorization (python, javascript, deployment, etc.)url "homepage"- project URL (for selected components)Remaining Work
Created
completion/available/TODO_COMPOSURE_METADATA.mddocumenting 30 completions that need human review for accurate descriptions (awless, crystal, drush, knife, kontena, etc.)Coverage Improvement
Testing
Next Steps
The TODO file provides a template for community members to add the remaining 30 completion descriptions. Each entry includes research hints and follows established formatting patterns.
Related to #1680 #2184
🤖 Generated with Claude Code