Skip to content

Build your first plugin

Create the File summary sample, inspect its package and run it in a workspace chat.

Updated 2026-11-10

Start with File summary: a small package that counts the lines and words in a bundled text file. It has one command, a skill and one saved setting, and needs no network or API key.

Create the files

On a computer with the Farero CLI installed, choose a new or empty folder and run:

Code
farero plugins init ./file-summary
farero plugins validate ./file-summary

These author commands work without the app running. The starter contains plugin.json, README.md, skills/file-summary/SKILL.md, ai.farero/summary.mjs and ai.farero/fixture.txt. The manifest declares the command; the skill explains when to use it; the script reads the bundled fixture.

You can also select a workspace chat and choose Create the sample in Settings → Plugins. Farero checks whether that chat can run the sample before creating its files.

Install and enable the sample

With Farero running, open Settings → Plugins, choose Add plugin → Folder and enter the starter’s absolute path on the host computer. Choose Review package, review its contents and select This workspace before installing.

To inspect the same folder from the CLI, use the following command. Install the exact candidate digest returned by inspection; the placeholders below stand for that digest and your workspace ID.

Code
farero plugins inspect ./file-summary
farero plugins install <candidate-digest> --enable workspace:<workspace-id>

Run File summary

Illustrative

01 · Goal

See a command’s declared inputs and saved configuration reach the executable.

02 · Setup

Use the unedited starter in a full-access workspace chat. Leave heading at Example. The required label accepts up to 80 characters; maxLines is a whole number from 1 to 10 and defaults to 2.

03 · Prompt

Prompt
Use file-summary to summarize its fixture. Set label to First try and maxLines to 2. Show the command’s output.

04 · Evidence produced

The expected output has three lines and six words, followed by the first two fixture lines.

Prompt
Example: First try
Lines: 3
Words: 6
First 2 lines:
One small example
Two words

05 · User review

Compare the counts with ai.farero/fixture.txt. If the command is unavailable, open its Where it works section for the selected chat’s reason.

Change a saved value

Open File summary → Configuration, set heading to Release notes and save it. Ask for the same summary again. The first line becomes “Release notes: First try”; the fixture counts stay the same.

Change the package

Edit the fixture or command in your source folder, then validate again. Farero runs an installed copy, so edits in the source folder become active only after you import and review an update.

Code
farero plugins validate ./file-summary
farero plugins update file-summary --source ./file-summary

Open the plugin’s Version section to review and activate the candidate. If a new configuration field needs a value, fill it in there before activation.

Share the package

Code
farero plugins pack ./file-summary --out ./file-summary.tgz

Packing validates the package and produces a reproducible archive. Include all runtime files and dependencies before packing. For an HTTPS installation, give the recipient both the archive URL and the SHA-256 digest printed by the pack command.

The plugin format reference describes the experimental ai.farero extension used by this sample.