Skip to content

About

A native companion to yannelli/be-concise for Claude Code and Codex.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

Be Concise for Paseo: stop wordy agent edits.

Be concise for Paseo

A native companion to be-concise for Claude Code, Codex, and omp (oh-my-pi). Open Be concise in Paseo's sidebar, workspace panels, or Command Center. The composer pill shows the rejected and flagged total when enforcement is on and Off when disabled. Open it for decision details and the workspace enforcement toggle.

  • Live hook decisions, searchable by tool, file, session, project, and reason. The project picker groups projects by repository and hides projects whose folder is gone. Pause the feed or open an event’s request and response.
  • A compact composer pill with the Be concise logo and one number. The number combines rejected and flagged decisions; the popup shows each decision count and a 30-minute chart. Turning enforcement off displays Off and sets the workspace's softFail override; flagged actions are allowed while hooks and test-output filtering remain active. Turn it on to restore enforcement. Agent environment overrides apply separately.
  • Call counts, interventions, sessions, average hook duration, and a 30-minute activity chart.
  • User, project, and BEC_CONFIG_PATH configuration with sections for limits, checks, scanned text, style, dictionary, exceptions, and logging, plus a JSON view and test filter settings. List controls follow the be-concise merge rule for each key.
  • A dictionary editor for terms to flag, with match rules, fixes, and hook and scope limits. Entries from other files can be turned off or copied in.
  • A writing tuner that scans pasted samples and proposes settings they pass. Apply the proposal to a draft, review it, then save.
  • An isolated playground for file writes, Codex and omp patches, shell commands, and final replies. Previews show the decision, reason, and findings of each hook without executing the pasted command or writing the target file.
  • A Plugin tab that installs, updates, downgrades, and removes be-concise for Claude Code, Codex, and omp from the be-concise GitHub releases.

Screenshots

All images are 1920×1080. They come from the Paseo 0.11.0-beta.3 web app in light mode with this plugin installed, using sample activity on a separate test daemon. The first five frame real captures with a headline. See capture details.

Composer pill

Be concise pill showing 5 next to the logo, with its popup open above the agent composer

Live activity

Activity dashboard with the newest rejected file write expanded

Configuration

User and project configuration layers

Hook preview

Playground with a rejected write and its hook response

Narrow screens

Composer sheet and activity feed at a 390-pixel width

Enforcement off

Off pill and popup with workspace enforcement turned off

Paused and filtered activity

Paused activity filtered to decisions that need attention

Connection and empty states

Connecting

Ellipsis pill and popup while the plugin connects

Unavailable

Exclamation pill and popup asking to install be-concise

No activity

Empty activity dashboard waiting for the next hook

Install

Requires Paseo 0.9.0 or newer (tested against the 0.10.2 plugin SDK) and be-concise 0.7.0 or newer on the daemon machine. The adapter uses the configuration, monitoring, and preview APIs shipped with be-concise 0.7.0. The dictionary and the writing tuner need be-concise 0.10.0; controls for settings that the installed version lacks are hidden. Repository groups and hidden missing projects need 0.11.0. omp needs 0.12.0. The scan controls and the code dictionary scope need 0.14.0. Tested with be-concise 0.15.0. See be-concise 0.10 to 0.15 support. Paseo supplies all runtime dependencies.

Install the npm release:

paseo plugin add npm:@yannelli/paseo-be-concise
paseo plugin ls

paseo plugin update paseo-be-concise shows the installed and proposed revisions before it updates. To pin a version, add it to the source, for example npm:@yannelli/paseo-be-concise@2.3.0.

Plugins must be enabled in Paseo Settings → Plugins. Installation runs trusted code with the daemon user’s access.

The plugin detects installed be-concise versions in the Claude, Codex, and omp caches, respecting CLAUDE_CONFIG_DIR, CODEX_HOME, and XDG_DATA_HOME. It reads the omp cache in ~/.omp, in each ~/.omp/profiles/<name>, and in $XDG_DATA_HOME/omp. For a source checkout or custom installation, set PASEO_CONCISE_ROOT in the daemon environment to the repository or plugins/concise directory, then reload this plugin.

Older Paseo versions

Paseo installs npm sources from 0.9.0. On older Paseo, install the Git tag built for that version:

Paseo Plugin tag Command
0.8.0 v1.0.0 paseo plugin add yannelli/paseo-plugin-concise --ref v1.0.0
0.7.2 v0.2.9 paseo plugin add yannelli/paseo-plugin-concise --ref v0.2.9

These tags do not have later features, such as the Plugin tab and the be-concise 0.10 controls. On Paseo 0.9.0 or newer, --ref also installs a 2.x tag that is not on npm, for example --ref v2.2.0. See npm publishing for the sources.

Local development

git clone https://github.com/yannelli/paseo-plugin-concise.git
cd paseo-plugin-concise
npm ci
npm run check
paseo plugin install "$PWD"
paseo plugin ls

Install be-concise from Paseo

Open Be concise → Plugin, or use the panel that appears when be-concise is missing. Choose a release and press Install, Update, or Downgrade for Claude Code, Codex, or omp. The daemon host needs Git and the claude, codex, or omp CLI on PATH, in ~/.local/bin, or in ~/.bun/bin. The plugin downloads the release from yannelli/be-concise into ~/.local/share/paseo-be-concise/releases and registers it as the be-concise marketplace. Claude Code changes use user scope. Restart Claude Code sessions after a change. For Codex, start a new session and review the hooks with /hooks. omp copies the plugin into its own cache and loads the hooks at session start, so start a new omp session after a change. omp needs be-concise 0.12.0 or newer, and it does not check subagent replies. If the marketplace already uses another source, Switch to GitHub releases asks for confirmation before it points the marketplace at the release folder. Changes run in the background, and the tab shows the result when the host commands finish. See be-concise installer for the exact commands.

Activity and settings

The view refreshes every two seconds. It follows the project registry and saved records under the daemon’s HOME/XDG directories, alongside any running concise-web console. It retains up to 500 events per project within a shared 16 MiB budget. Stats describe that retained window; they are not lifetime totals. New activity requires monitor.persist to be enabled and BEC_MONITOR_DISABLED to be unset in the agent’s environment.

Configuration controls edit the selected file and preserve its other keys. Save changes validates through be-concise and checks the file revision. An intervening edit preserves your draft and requires an explicit reload. The effective view uses the daemon’s environment; agent-specific environment overrides apply separately. The interface labels active and inactive layers because creating a higher-priority file changes which configuration is selected.

Session rules that be-concise sends at startup appear as Rules sent and do not count as flagged. The tuner reads pasted text only and writes nothing until you save.

Each preview starts with separate retry state. Preview results do not enter live activity. Only the Plugin tab changes the Claude Code, Codex, or omp installation, and only when you press one of its buttons. The plugin does not start another web console.

Development

npm run check
paseo plugin reload paseo-be-concise
paseo plugin logs paseo-be-concise

Tests use Node.js 24 and temporary home/project directories. They cover activity normalization, retention, stats, installation discovery, config conflicts, file permissions, preview isolation, form and dictionary edits, the tuner, omp records, and the omp installer commands. Integration tests require an installed be-concise; the tuner and dictionary tests need 0.10.0. Set PASEO_CONCISE_ROOT to a checkout to select it explicitly.

Paseo API reference: v0.9 plugins.

See the documentation index for the current composer button contract, screenshot capture details, be-concise 0.10 to 0.15 support, the be-concise installer commands, and npm publishing. Consult it when you change pill labels, update screenshots, add a configuration control, change install behavior, or change the release workflow.

Releases

GitHub Actions runs the checks and publishes a GitHub release on qualifying pushes to main. The first release is v0.1.0. The workflow updates package.json and package-lock.json, pushes an annotated tag, and publishes release notes with the repository's GITHUB_TOKEN. It then publishes @yannelli/paseo-be-concise to npm through trusted publishing (OIDC), with no npm token. See npm publishing for the package contents and the trusted publisher setup.

Use Conventional Commits in commits and squash-merge titles:

Commit Version change
fix:, perf:, revert: Patch
feat: Minor
! after the type/scope, or a BREAKING CHANGE: footer Major, including before 1.0
docs:, chore:, ci:, and other types without a breaking marker No release

The highest change since the last release determines the next version. For example, fix: repair the badge changes 0.1.0 to 0.1.1; feat: add a filter changes it to 0.2.0.

Run npm run release:dry-run from a clean main checkout with all tags fetched to preview the next release. Rerun the Release workflow to complete a GitHub or npm publication interrupted after its tag was pushed.

Questions or feedback? Please reach out to me at Ryan Yannelli or open an issue/PR.

About

A native companion to yannelli/be-concise for Claude Code and Codex.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages