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:
farero plugins init ./file-summary
farero plugins validate ./file-summaryThese 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.
farero plugins inspect ./file-summary
farero plugins install <candidate-digest> --enable workspace:<workspace-id>Run File summary
Illustrative01 · 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
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.
Example: First try
Lines: 3
Words: 6
First 2 lines:
One small example
Two words05 · 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.
farero plugins validate ./file-summary
farero plugins update file-summary --source ./file-summaryOpen 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.
farero plugins pack ./file-summary --out ./file-summary.tgzPacking 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.