Qwen models reject multiple system messages — push() added a second
entry. Append to the last existing entry instead; fall back to push
when the array is empty.
Co-authored-by: Emeriko <dietrich.gebert@gmail.com>
Wrap input.arguments with String() before calling .trim(), matching
the defensive pattern already used in the pi-extension (index.js:90).
Prevents TypeError if the host passes a non-string truthy value.
Fixes#553.
Co-authored-by: Emeriko <dietrich.gebert@gmail.com>
OpenCode's legacy plugin loader iterates every exported function in a
plugin module and tries to invoke each one with the plugin context object.
parseCommandFile was exported alongside the default plugin function, so
the loader called it with an object instead of a file path and crashed
with 'path must be a string or a file descriptor' before any hook ran,
which aborted the whole plugin load.
Move the frontmatter parser to its own .cjs sibling; the plugin module
now exposes exactly one top-level export (the default plugin function).
The plugin requires the parser via createRequire, and the existing
parseCommandFile tests now require the sibling directly.
Co-authored-by: ayushere <ayushere@users.noreply.github.com>
Publish under a scope you own outright instead of opencode-ponytail (which
sits on a third-party npm account). Matches the GitHub handle and repo.
publishConfig.access is already public, which scoped public packages need.
* feat: register slash commands from .opencode/command/*.md
Add parseCommandFile() to read frontmatter-described markdown files
and wire them into opencode's config.command during init.
Extend the config hook to scan .opencode/command/ and register each
.md file as a named slash command.
Update the plugin doc comment to reflect the npm install path
(opencode-ponytail) vs the old relative path.
* chore: rename package to opencode-ponytail
Align package name with npm convention for opencode plugins.
Update keywords to include opencode-plugin and opencode tags.
Fix description back to original correct wording (grammatical
regression introduced during editing).
* chore: add npm metadata and publish workflow
Add author, homepage, repository, bugs, main, exports, files, and
publishConfig fields to package.json for npm publishing.
Add .github/workflows/publish.yml to auto-publish to npm on version
tags (v*) with provenance.
* docs: add npm plugin install for opencode-ponytail
---------
Co-authored-by: Emeriko <dietrich.gebert@gmail.com>
The ponytail plugin was missing a config hook to register its skills/
directory with opencode's skill discovery system. Without this, the 5
ponytail skills (ponytail, ponytail-audit, ponytail-debt, ponytail-help,
ponytail-review) never appear in the skill tool's available list.
The superpowers plugin already follows this exact pattern — this brings
ponytail in line with the upstream convention.