fj/claude/README.md
Stephen Way 0984e737a3
Some checks are pending
ci / check (push) Waiting to run
plugin: add marketplace.json + correct install instructions
A repo with only plugin.json is recognized as a plugin but not as a
marketplace, which is what `/plugin marketplace add` needs. Adding
.claude-plugin/marketplace.json that declares the marketplace
('rasterandstate') and lists fj as its single plugin.

The correct two-step install is now:

  /plugin marketplace add rasterandstate/fj-claude-plugin
  /plugin install fj@rasterandstate

README.md and claude/README.md updated accordingly.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 16:15:24 -07:00

1.9 KiB

fj Claude Code plugin

A Claude Code plugin that teaches Claude how to use fj, the CLI for Forgejo and Gitea-compatible instances.

The plugin ships a single skill (fj) that activates when the user mentions fj, Forgejo, Gitea, or any forge-side action (open a PR, list issues, cut a release, request a review, etc.) on a non-GitHub host.

Install

This directory is both a Claude Code plugin AND a single-plugin marketplace. Add the marketplace once, then install:

/plugin marketplace add rasterandstate/fj-claude-plugin
/plugin install fj@rasterandstate

After install, the skill activates automatically when relevant.

Layout

claude/
├── .claude-plugin/
│   ├── plugin.json         plugin manifest (name, version, keywords)
│   └── marketplace.json    makes this directory a single-plugin
│                           marketplace; required for `/plugin install`
├── README.md               this file
└── skills/
    └── fj/
        └── SKILL.md        the skill body — what Claude reads

Updating

This claude/ directory is the source of truth, inside the fj repo at rasterhub.com/rasterstate/fj.

A mirror lives at github.com/rasterandstate/fj-claude-plugin, synced from this directory. To cut a new version:

  1. Bump version in .claude-plugin/plugin.json here.

  2. Update SKILL.md if new fj commands or workflows exist.

  3. Commit + push the fj repo.

  4. Sync the contents of claude/ over to the mirror repo and tag it:

    # From the fj repo root:
    rsync -av --delete --exclude=.git claude/ /path/to/fj-claude-plugin/
    cd /path/to/fj-claude-plugin
    git commit -am "sync from fj vX.Y.Z"
    git tag vX.Y.Z
    git push origin main vX.Y.Z
    

License

MIT, matching fj.