Skip to content

feat(plugins): add 5 new bundled plugins — typst, go-task, cfn-lint, envinfo, markdown-link-check#311

Open
javimosch wants to merge 1 commit into
masterfrom
am/am-f17c27-th44xd
Open

feat(plugins): add 5 new bundled plugins — typst, go-task, cfn-lint, envinfo, markdown-link-check#311
javimosch wants to merge 1 commit into
masterfrom
am/am-f17c27-th44xd

Conversation

@javimosch

@javimosch javimosch commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Automated maintenance run by automaintainer.

Focus: OBJECTIVE: grow the plugin catalog toward 12000. Each run, add up to 5 new plugins (a directory under plugins// with plugin.json, meta.json, install-guidance.json matching the existing schema) for real, useful CLI tools NOT already present. Strictly additive; do not modify existing plugins; single PR.


WORK ALREADY IN FLIGHT — do not overlap:
These automaintainer pull requests are already open and awaiting review. Do NOT re-implement, refactor, or restructure the files they touch — pick non-overlapping work, and never recreate a change an open PR already makes. If your objective unavoidably overlaps one of these, choose a different, complementary improvement instead.

  • PR feat(plugins): add 4 new bundled plugins — ollama, pagefind, gptscript, staticrypt #310 (am/am-f17c27-th43mp): feat(plugins): add 4 new bundled plugins — ollama, pagefind, gptscript, staticrypt
    touches: plugins/gptscript/install-guidance.json, plugins/gptscript/meta.json, plugins/gptscript/plugin.json, plugins/ollama/install-guidance.json, plugins/ollama/meta.json, plugins/ollama/plugin.json, plugins/pagefind/install-guidance.json, plugins/pagefind/meta.json, plugins/pagefind/plugin.json, plugins/staticrypt/install-guidance.json, plugins/staticrypt/meta.json, plugins/staticrypt/plugin.json
  • PR feat(plugins): add 10 new bundled plugins — pkgx, cotton, projen, cmus, massren, beets, editly, mpv, nasa-cli, pianobar #309 (am/am-f17c27-th42fd): feat(plugins): add 10 new bundled plugins — pkgx, cotton, projen, cmus, massren, beets, editly, mpv, nasa-cli, pianobar
    touches: plugins/beets/install-guidance.json, plugins/beets/meta.json, plugins/beets/plugin.json, plugins/cmus/install-guidance.json, plugins/cmus/meta.json, plugins/cmus/plugin.json, plugins/cotton/install-guidance.json, plugins/cotton/meta.json, plugins/cotton/plugin.json, plugins/editly/install-guidance.json, plugins/editly/meta.json, plugins/editly/plugin.json (+18 more)
  • PR feat(plugins): add vercel, directus, kamal — deployment and CMS CLIs #308 (am/am-f17c27-th41i1): feat(plugins): add vercel, directus, kamal — deployment and CMS CLIs
    touches: plugins/directus/install-guidance.json, plugins/directus/meta.json, plugins/directus/plugin.json, plugins/kamal/install-guidance.json, plugins/kamal/meta.json, plugins/kamal/plugin.json, plugins/vercel/install-guidance.json, plugins/vercel/meta.json, plugins/vercel/plugin.json
  • PR feat(plugins): add 4 new bundled plugins — slidev, espanso, wiki-tui, surrealdb #307 (am/am-f17c27-th40ap): feat(plugins): add 4 new bundled plugins — slidev, espanso, wiki-tui, surrealdb
    touches: plugins/espanso/install-guidance.json, plugins/espanso/meta.json, plugins/espanso/plugin.json, plugins/espanso/skills/quickstart/SKILL.md, plugins/slidev/install-guidance.json, plugins/slidev/meta.json, plugins/slidev/plugin.json, plugins/slidev/skills/quickstart/SKILL.md, plugins/surrealdb/install-guidance.json, plugins/surrealdb/meta.json, plugins/surrealdb/plugin.json, plugins/surrealdb/skills/quickstart/SKILL.md (+4 more)
  • PR feat: add 5 new bundled plugins — deptry, flit, twine, memray, delve #306 (am/am-f17c27-th3z6p): feat: add 5 new bundled plugins — deptry, flit, twine, memray, delve
    touches: plugins/delve/install-guidance.json, plugins/delve/meta.json, plugins/delve/plugin.json, plugins/delve/skills/quickstart/SKILL.md, plugins/deptry/install-guidance.json, plugins/deptry/meta.json, plugins/deptry/plugin.json, plugins/deptry/skills/quickstart/SKILL.md, plugins/flit/install-guidance.json, plugins/flit/meta.json, plugins/flit/plugin.json, plugins/flit/skills/quickstart/SKILL.md (+8 more)
  • PR feat: add 4 new bundled plugins — httpie, unar, newsboat, tinygo #305 (am/am-f17c27-th3y61): feat: add 4 new bundled plugins — httpie, unar, newsboat, tinygo
    touches: plugins/httpie/install-guidance.json, plugins/httpie/meta.json, plugins/httpie/plugin.json, plugins/newsboat/install-guidance.json, plugins/newsboat/meta.json, plugins/newsboat/plugin.json, plugins/tinygo/install-guidance.json, plugins/tinygo/meta.json, plugins/tinygo/plugin.json, plugins/unar/install-guidance.json, plugins/unar/meta.json, plugins/unar/plugin.json
  • PR feat: add 5 media/audio plugins — mediainfo, avifenc, metaflac, pamixer, oggenc #304 (am/am-f17c27-th3x8p): feat: add 5 media/audio plugins — mediainfo, avifenc, metaflac, pamixer, oggenc
    touches: plugins/avifenc/install-guidance.json, plugins/avifenc/meta.json, plugins/avifenc/plugin.json, plugins/mediainfo/install-guidance.json, plugins/mediainfo/meta.json, plugins/mediainfo/plugin.json, plugins/metaflac/install-guidance.json, plugins/metaflac/meta.json, plugins/metaflac/plugin.json, plugins/oggenc/install-guidance.json, plugins/oggenc/meta.json, plugins/oggenc/plugin.json (+3 more)
  • PR fix(k0s,k3s): set canonical source URLs #281 (am/am-f17c27-th02lm): fix(k0s,k3s): set canonical source URLs
    touches: plugins/k0s/plugin.json, plugins/k3s/plugin.json, plugins/okteto-cli/plugin.json, plugins/oracle-cloud/plugin.json, plugins/up/plugin.json

Branch: am/am-f17c27-th44xd

Summary

Add 5 new bundled plugins: typst (modern typesetting), go-task (task runner), cfn-lint (CloudFormation linter), envinfo (env reporting), markdown-link-check (broken link detection). These are well-established CLI tools with active GitHub repos and stable releases, filling gaps in the catalog's documentation, infrastructure, and development tooling sections.

Diff:

plugins/cfn-lint/install-guidance.json            | 11 ++++
 plugins/cfn-lint/meta.json                        | 11 ++++
 plugins/cfn-lint/plugin.json                      | 53 ++++++++++++++++++
 plugins/envinfo/install-guidance.json             | 11 ++++
 plugins/envinfo/meta.json                         | 11 ++++
 plugins/envinfo/plugin.json                       | 53 ++++++++++++++++++
 plugins/go-task/install-guidance.json             | 11 ++++
 plugins/go-task/meta.json                         | 11 ++++
 plugins/go-task/plugin.json                       | 68 +++++++++++++++++++++++
 plugins/markdown-link-check/install-guidance.json | 11 ++++
 plugins/markdown-link-check/meta.json             | 11 ++++
 plugins/markdown-link-check/plugin.json           | 53 ++++++++++++++++++
 plugins/typst/install-guidance.json               | 11 ++++
 plugins/typst/meta.json                           | 12 ++++
 plugins/typst/plugin.json                         | 53 ++++++++++++++++++
 15 files changed, 391 insertions(+)

Summary by CodeRabbit

Release Notes

  • New Features
    • Added five new plugins: cfn-lint for CloudFormation validation, envinfo for system environment information, go-task for task execution, markdown-link-check for link validation, and typst for document typesetting.

…envinfo, markdown-link-check

Add plugin definitions for:
- typst: modern markup-based typesetting system (LaTeX alternative)
- go-task: task runner / build tool (simpler Make alternative)
- cfn-lint: AWS CloudFormation template linter
- envinfo: environment information reporter
- markdown-link-check: broken link checker for markdown files
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@javimosch

Copy link
Copy Markdown
Owner Author

Review — Head of Org Engineering: All new plugin files (cfn-lint, envinfo, go-task, markdown-link-check, typst) are syntactically valid JSON, scoped entirely to new files under plugins/, and correctly describe CLI tool wrappers with no secrets, destructive changes, or out-of-scope edits.

(approved — review-only mode; merge when ready.)

@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Five new supercli plugins are registered: cfn-lint, envinfo, go-task, markdown-link-check, and typst. Each plugin follows an identical three-file structure: a plugin.json manifest (binary check, version command, passthrough command), a meta.json (description, tags, has_learn), and an install-guidance.json (check command, install steps, note).

Changes

Five New Plugin Registrations

Layer / File(s) Summary
Plugin manifests (command wiring and binary checks)
plugins/cfn-lint/plugin.json, plugins/envinfo/plugin.json, plugins/go-task/plugin.json, plugins/markdown-link-check/plugin.json, plugins/typst/plugin.json
Each manifest declares the plugin identity, a binary dependency check, a version command via the process adapter, and a passthrough _ command forwarding CLI args to the underlying tool. go-task additionally registers a --list command. All commands include missingDependencyHelp strings.
Metadata and install guidance
plugins/*/meta.json, plugins/*/install-guidance.json
meta.json files supply description, tags, and has_learn: false for each plugin. install-guidance.json files define the binary name, a which/task --version check command, ordered install_steps (pip, npm, brew, or cargo, followed by a supercli install with --on-conflict replace --json), and a short note per plugin.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐇 Five new tools hop into the warren today,
cfn-lint and typst have come out to play,
envinfo and go-task join markdown-link-check,
Each JSON in order, each binary in check.
The rabbit stamps JSON and hops away! 🌿

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding 5 new bundled plugins with their specific names listed, directly matching the PR's core objective.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch am/am-f17c27-th44xd

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@javimosch

Copy link
Copy Markdown
Owner Author

Automaintainer Review Verdict: APPROVED — Purely additive PR adding 5 real, well-established CLI tools (typst, go-task, cfn-lint, envinfo, markdown-link-check). All plugin files follow the existing schema consistently (plugin.json, meta.json, install-guidance.json), source URLs are valid, binary names and install methods are correct, and there is zero overlap with any open PRs. No existing files modified. The Head of Org Engineering (javimosch) has also reviewed and confirmed the JSON is valid and changes are scoped correctly. CI checks are pending but JSON-only additive changes present no functional risk.

@javimosch

Copy link
Copy Markdown
Owner Author

Approved by automaintainer review team — ready for human merge

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🧹 Nitpick comments (1)
plugins/go-task/plugin.json (1)

15-15: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Check command inconsistent with other plugins.

Line 15 uses "task --version" as the check command, while cfn-lint, envinfo, markdown-link-check, and typst all use the "which <binary>" pattern. Both approaches work, but consistency across the plugin catalog would improve maintainability.

📝 Suggested consistency fix
-    "check": "task --version",
+    "check": "which task",
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/go-task/plugin.json` at line 15, The check command in the plugin
configuration uses "task --version" while other plugins in the catalog use a
"which <binary>" pattern for consistency. Update the check field from "task
--version" to "which task" to align with the standard pattern used across the
plugin catalog, ensuring consistency in plugin health checking approaches.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@plugins/cfn-lint/install-guidance.json`:
- Line 7: Remove the "Verify: " prefix from the shell command suggestion in the
install-guidance.json file. The line currently reads "Verify: cfn-lint
--version," but it should be changed to just "cfn-lint --version," since the
supercli plugins discover surfaces install steps verbatim and the prefix
prevents the command from being executable. Simply delete the "Verify: " text
from the beginning of that line.

In `@plugins/cfn-lint/plugin.json`:
- Around line 12-22: The install_guidance block is duplicated in both
plugin.json and separate install-guidance.json files across all plugins. Choose
one approach: either remove the install_guidance block from all plugin.json
files (cfn-lint, envinfo, go-task, markdown-link-check, and typst) and retain
only the separate install-guidance.json files, or delete all the
install-guidance.json files and keep only the install_guidance block in each
plugin.json. Ensure consistency across all affected plugins.

In `@plugins/envinfo/install-guidance.json`:
- Line 7: In the install-guidance.json file, remove the "Verify: " prefix from
the step entry that currently reads "Verify: envinfo --version". The command
should only contain "envinfo --version" without the prefix so that supercli
plugins discover can surface it as a valid, runnable shell command.

In `@plugins/go-task/install-guidance.json`:
- Line 7: Remove the "Verify: " prefix from the step in the
install-guidance.json file so that the entry contains only "task --version".
Since supercli plugins discover surfaces install steps verbatim as shell command
suggestions, the prefix makes the command non-executable. Change the line from
"Verify: task --version" to just "task --version" to ensure the command is
runnable when displayed to users.

In `@plugins/go-task/plugin.json`:
- Around line 39-53: In the task list command configuration object, change the
"resource" field value from "--list" to "tasks". This makes the resource naming
semantic and consistent with other plugins by using a meaningful noun paired
with an action instead of using a CLI flag as the resource identifier.

---

Nitpick comments:
In `@plugins/go-task/plugin.json`:
- Line 15: The check command in the plugin configuration uses "task --version"
while other plugins in the catalog use a "which <binary>" pattern for
consistency. Update the check field from "task --version" to "which task" to
align with the standard pattern used across the plugin catalog, ensuring
consistency in plugin health checking approaches.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9960933e-f49d-41f0-b1b3-bb0b56fcef57

📥 Commits

Reviewing files that changed from the base of the PR and between afda2f7 and c876808.

📒 Files selected for processing (15)
  • plugins/cfn-lint/install-guidance.json
  • plugins/cfn-lint/meta.json
  • plugins/cfn-lint/plugin.json
  • plugins/envinfo/install-guidance.json
  • plugins/envinfo/meta.json
  • plugins/envinfo/plugin.json
  • plugins/go-task/install-guidance.json
  • plugins/go-task/meta.json
  • plugins/go-task/plugin.json
  • plugins/markdown-link-check/install-guidance.json
  • plugins/markdown-link-check/meta.json
  • plugins/markdown-link-check/plugin.json
  • plugins/typst/install-guidance.json
  • plugins/typst/meta.json
  • plugins/typst/plugin.json

"check": "which cfn-lint",
"install_steps": [
"pip install cfn-lint",
"Verify: cfn-lint --version",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Remove the Verify: prefix from this step.

supercli plugins discover surfaces install steps verbatim, so this entry is treated as a shell command suggestion. Keeping the prefix makes the suggested command non-runnable.

Suggested fix
-    "Verify: cfn-lint --version",
+    "cfn-lint --version",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Verify: cfn-lint --version",
"cfn-lint --version",
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/cfn-lint/install-guidance.json` at line 7, Remove the "Verify: "
prefix from the shell command suggestion in the install-guidance.json file. The
line currently reads "Verify: cfn-lint --version," but it should be changed to
just "cfn-lint --version," since the supercli plugins discover surfaces install
steps verbatim and the prefix prevents the command from being executable. Simply
delete the "Verify: " text from the beginning of that line.

Comment on lines +12 to +22
"install_guidance": {
"plugin": "cfn-lint",
"binary": "cfn-lint",
"check": "which cfn-lint",
"install_steps": [
"pip install cfn-lint",
"Verify: cfn-lint --version",
"supercli plugins install ./plugins/cfn-lint --on-conflict replace --json"
],
"note": "Python tool. Install via pip or pipx: pipx install cfn-lint"
},

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check for install-guidance.json files and compare with embedded guidance

for plugin in cfn-lint envinfo go-task markdown-link-check typst; do
  echo "=== $plugin ==="
  
  if [ -f "plugins/$plugin/install-guidance.json" ]; then
    echo "✓ Separate install-guidance.json exists"
    
    # Extract install_guidance from plugin.json and compare
    if [ -f "plugins/$plugin/plugin.json" ]; then
      echo "Checking for duplication..."
      jq '.install_guidance' "plugins/$plugin/plugin.json" > /tmp/embedded.json
      jq '.' "plugins/$plugin/install-guidance.json" > /tmp/separate.json
      
      if diff -q /tmp/embedded.json /tmp/separate.json > /dev/null; then
        echo "⚠️  Content is identical (duplication confirmed)"
      else
        echo "ℹ️  Content differs"
        diff /tmp/embedded.json /tmp/separate.json || true
      fi
    fi
  else
    echo "✗ No separate install-guidance.json found"
  fi
  echo
done

Repository: javimosch/supercli

Length of output: 837


Consolidate duplicated installation guidance across plugin manifests.

The install_guidance block in plugin.json (lines 12-22) is duplicated identically in separate install-guidance.json files for all plugins (confirmed for cfn-lint, envinfo, go-task, markdown-link-check, and typst). This creates a maintenance burden where any updates must be kept in sync across two files.

Either embed the guidance only in plugin.json and remove the separate files, or centralize it only in install-guidance.json and remove the embedded field from plugin.json.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/cfn-lint/plugin.json` around lines 12 - 22, The install_guidance
block is duplicated in both plugin.json and separate install-guidance.json files
across all plugins. Choose one approach: either remove the install_guidance
block from all plugin.json files (cfn-lint, envinfo, go-task,
markdown-link-check, and typst) and retain only the separate
install-guidance.json files, or delete all the install-guidance.json files and
keep only the install_guidance block in each plugin.json. Ensure consistency
across all affected plugins.

"check": "which envinfo",
"install_steps": [
"npm install -g envinfo",
"Verify: envinfo --version",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Remove the Verify: prefix from this step.

supercli plugins discover surfaces install steps verbatim, so this entry is treated as a shell command suggestion. Keeping the prefix makes the suggested command non-runnable.

Suggested fix
-    "Verify: envinfo --version",
+    "envinfo --version",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Verify: envinfo --version",
"envinfo --version",
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/envinfo/install-guidance.json` at line 7, In the
install-guidance.json file, remove the "Verify: " prefix from the step entry
that currently reads "Verify: envinfo --version". The command should only
contain "envinfo --version" without the prefix so that supercli plugins discover
can surface it as a valid, runnable shell command.

"check": "task --version",
"install_steps": [
"brew install go-task",
"Verify: task --version",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Remove the Verify: prefix from this step.

supercli plugins discover surfaces install steps verbatim, so this entry is treated as a shell command suggestion. Keeping the prefix makes the suggested command non-runnable.

Suggested fix
-    "Verify: task --version",
+    "task --version",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Verify: task --version",
"task --version",
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/go-task/install-guidance.json` at line 7, Remove the "Verify: "
prefix from the step in the install-guidance.json file so that the entry
contains only "task --version". Since supercli plugins discover surfaces install
steps verbatim as shell command suggestions, the prefix makes the command
non-executable. Change the line from "Verify: task --version" to just "task
--version" to ensure the command is runnable when displayed to users.

Comment on lines +39 to +53
{
"namespace": "task",
"resource": "--list",
"action": "list",
"description": "List tasks in the project",
"adapter": "process",
"adapterConfig": {
"command": "task",
"baseArgs": [
"--list"
],
"missingDependencyHelp": "Install go-task: brew install go-task"
},
"args": []
},

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for other examples of flag-based resource names in existing plugins

echo "Searching for resource patterns in existing plugin manifests..."
fd -e json 'plugin.json' plugins/ --exec jq -r '
  .commands[]? | 
  select(.resource != "self" and .resource != "_") | 
  "\(.namespace) → resource: \(.resource), action: \(.action)"
' {} \; 2>/dev/null | head -20

Repository: javimosch/supercli

Length of output: 977


🏁 Script executed:

# First, examine the complete go-task plugin.json to understand its structure
cat plugins/go-task/plugin.json

Repository: javimosch/supercli

Length of output: 1899


🏁 Script executed:

# Search for how resources/actions are used and routed in supercli
# Look for documentation or routing logic that explains the pattern
fd -type f -name "*.ts" -o -name "*.js" -o -name "*.md" | head -20
rg "resource.*action" --type ts --type js -C 2 | head -30

Repository: javimosch/supercli

Length of output: 327


🏁 Script executed:

# Check if there are any other "--list" or flag-based resources in plugins
fd -e json 'plugin.json' plugins/ --exec grep -l "\"--" {} \;

Repository: javimosch/supercli

Length of output: 50375


🏁 Script executed:

# Search for code that processes resource/action routing
rg "resource.*action" --type ts --type js -A 2 -B 2 | head -40

Repository: javimosch/supercli

Length of output: 156


🏁 Script executed:

# Look for any other plugins using flag-like resources (starting with --)
fd -e json 'plugin.json' plugins/ | xargs grep -l '"--' | head -20

Repository: javimosch/supercli

Length of output: 787


🏁 Script executed:

# Check if there are similar list/version command patterns in other plugins
fd -e json 'plugin.json' plugins/ | xargs grep -l '"list".*"action"' | head -10

Repository: javimosch/supercli

Length of output: 957


🏁 Script executed:

# Look for any documentation or README about resource naming conventions
find . -name "README*" -o -name "*.md" | xargs rg -i "resource.*naming|resource.*convention" 2>/dev/null | head -20

Repository: javimosch/supercli

Length of output: 156


🏁 Script executed:

# Search for adapter or routing logic more broadly
fd -type f \( -name "*.ts" -o -name "*.js" \) | xargs rg -l "adapter|resource|action" | head -10

Repository: javimosch/supercli

Length of output: 664


🏁 Script executed:

# Examine git-lfs plugin to see similar --list pattern
cat plugins/git-lfs/plugin.json | head -100

Repository: javimosch/supercli

Length of output: 4530


🏁 Script executed:

# Search for how the CLI is invoked - look for main entry or handler
fd -name "index.ts" -o -name "main.ts" -o -name "cli.ts" | head -5

Repository: javimosch/supercli

Length of output: 387


🏁 Script executed:

# Check if there's documentation on routing in README
cat README.md 2>/dev/null | grep -A 10 -B 10 "resource\|action" | head -50

Repository: javimosch/supercli

Length of output: 2798


Change resource: "--list" to resource: "tasks" for semantic consistency.

The --list command uses a CLI flag as the resource name instead of a semantic noun. This breaks the consistent pattern used across plugins like git-lfs, which use meaningful resource names (e.g., "track", "ls-files", "status") paired with actions ("list", "add", "show").

Rename the resource to "tasks" so the command invocation becomes supercli task tasks list instead of supercli task --list list, aligning with how other plugins structure list operations.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/go-task/plugin.json` around lines 39 - 53, In the task list command
configuration object, change the "resource" field value from "--list" to
"tasks". This makes the resource naming semantic and consistent with other
plugins by using a meaningful noun paired with an action instead of using a CLI
flag as the resource identifier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant