fj/claude
Stephen Way 4e5a20d0c5
Some checks are pending
ci / check (push) Waiting to run
plugin: add version + strict + author to marketplace plugin entry
Per working entries in anthropics/claude-plugins-official, the
plugin-entry inside marketplace.json should include `version`,
`strict: false`, and `author` even when those fields also exist in
the plugin's own plugin.json.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-13 16:36:24 -07:00
..
.claude-plugin plugin: add version + strict + author to marketplace plugin entry 2026-05-13 16:36:24 -07:00
plugins/fj plugin: restructure to marketplace + plugins/<name> layout 2026-05-13 16:26:03 -07:00
README.md plugin: restructure to marketplace + plugins/<name> layout 2026-05-13 16:26:03 -07:00

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/
│   └── marketplace.json    marketplace manifest — declares plugins[]
├── README.md               this file
└── plugins/
    └── fj/
        ├── .claude-plugin/
        │   └── plugin.json plugin manifest (name, version, keywords)
        └── skills/
            └── fj/
                └── SKILL.md  the skill body — what Claude reads

The marketplace lives at the root; each plugin lives in plugins/<name>/. marketplace.json references plugins via "source": "./plugins/<name>". This is the working pattern used by anthropics/claude-plugins-official and other shipping marketplaces.

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.