Skip to content

feat(plugins): add difft plugin — structural syntax-aware diff CLI#289

Merged
javimosch merged 1 commit into
masterfrom
mago/task-28
Jun 22, 2026
Merged

feat(plugins): add difft plugin — structural syntax-aware diff CLI#289
javimosch merged 1 commit into
masterfrom
mago/task-28

Conversation

@javimosch

@javimosch javimosch commented Jun 22, 2026

Copy link
Copy Markdown
Owner

Summary

Adds plugins/difft/ — a new supercli plugin for the difft CLI (Difftastic), a structural syntax-aware diff tool that compares code by AST across 30+ languages.

Changes

  • plugin.json: Name difft, version 0.1.0, description in required em-dash format, source URL pointing to the official GitHub repo (Wilfred/difftastic), binary check for difft, install guidance with cargo, learn section pointing to SKILL.md, and passthrough command.
  • meta.json: Description, tags (difft, rust, cli, text-processing, development) — 5 tags from the controlled vocabulary, has_learn: true.
  • install-guidance.json: Plugin, binary, check, and install steps (cargo install difftastic).
  • skills/quickstart/SKILL.md: Frontmatter with name/description + quickstart examples showing file comparison, side-by-side display, directory diff, inline mode, and ignore-comments.

Verification

  • All JSON files validate with python3 -m json.tool
  • Structure mirrors plugins/rg/ exactly as specified
  • No edits to plugins/plugins.json or any other files outside plugins/difft/

Closes #288 (mago task #28)

Summary by CodeRabbit

Release Notes

  • New Features
    • Difft plugin now available with installation guidance and quickstart documentation
    • Supports syntax-aware file and directory comparison with multiple display modes (side-by-side and inline)

@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.

@coderabbitai

coderabbitai Bot commented Jun 22, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: aeb25b0d-65c4-43f7-a66c-8d41175098a6

📥 Commits

Reviewing files that changed from the base of the PR and between 091a88e and 4558fcb.

📒 Files selected for processing (4)
  • plugins/difft/install-guidance.json
  • plugins/difft/meta.json
  • plugins/difft/plugin.json
  • plugins/difft/skills/quickstart/SKILL.md

📝 Walkthrough

Walkthrough

Four new files are added under plugins/difft/ to introduce a difft (difftastic) plugin: a plugin manifest (plugin.json), metadata (meta.json), install guidance (install-guidance.json), and a quickstart skill document (skills/quickstart/SKILL.md).

Changes

difft Plugin

Layer / File(s) Summary
Plugin manifest, metadata, and install guidance
plugins/difft/plugin.json, plugins/difft/meta.json, plugins/difft/install-guidance.json
plugin.json defines name, version 0.1.0, description, source link, binary check, install guidance reference, and a passthrough difft _ command via the process adapter. meta.json adds description, tags (rust, cli, text-processing, development), and has_learn: true. install-guidance.json specifies the which difft check and cargo install difftastic install step.
Quickstart skill doc
plugins/difft/skills/quickstart/SKILL.md
Adds a SKILL.md with a plugin description and Quickstart examples for file comparison, side-by-side and inline display modes, directory comparison, and Java comment-ignoring diffs.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • javimosch/supercli#241: Adds install-guidance.json files for other plugins (ckroute, gendiff, hexdiff) using the same JSON shape (name, binary, check, install_steps) as this PR.

Poem

🐰 A new diff tool hops into view,
Syntax-aware, with Rust through and through!
cargo install difftastic — off we go,
Side-by-side or inline, what a show!
The rabbit stamps the manifest with glee. 🎉

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch mago/task-28

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 and usage tips.

@javimosch

Copy link
Copy Markdown
Owner Author

Review — Head of Org Engineering: The change adds a new 'difft' plugin with valid JSON configuration and a skill markdown file, touches only new files under plugins/difft/, and contains no bugs, secrets, or destructive edits.

@javimosch javimosch merged commit 19bb88b into master Jun 22, 2026
0 of 2 checks passed
@javimosch javimosch deleted the mago/task-28 branch June 22, 2026 11:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant