| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: refine ruleset from a full-project field review (#39) * feat: refine ruleset from a full-project field review A reviewer ran ponytail across a 9-phase rewrite (protocol, PC app, simulator, RPi daemon, ESP32 firmware) and flagged three gaps. All three land in SKILL.md and propagate to AGENTS.md + the rule copies: - Promote the one-runnable-check rule to a headline ("Lazy code without its check is unfinished"), enforced as a check-rule-copies invariant. - Hardware carve-out in "When NOT to be lazy": a real device is never the spec ideal (clock drift, sensor offset), leave the calibration knob. - Clarify the Output rule: explanation the user explicitly asked for is not debt, only unrequested prose is. Fallback instructions kept in sync. Rule-copy check + tests green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * test: add a behavior gate proving the refinements actually fire The refinements were verified as injected text, but injected != behavioral. This adds a behavior eval that probes each refined rule on a task that should trigger it: - hardware -> does the output leave a calibration knob? - explanation -> when a write-up is explicitly requested, is it given in full? - onecheck -> is a runnable check left behind? benchmarks/behavior.yaml runs the probes (baseline vs ponytail arm); the grader benchmarks/behavior.js is proven by tests/behavior.test.js (8 cases, RED/GREEN, no API key, runs in CI). Live-confirmed: the model under the current ruleset passes all three gates, graded by the same grader. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 3 个月前 | |
fix: ship the missing /ponytail-help command on Claude Code and OpenCode (#62) Ships the previously-missing /ponytail-help adapter files (commands/ponytail-help.toml, .opencode/command/ponytail-help.md) and adds tests/commands.test.js, a parity guard asserting every pi-registered command has both adapter files. Thanks @hooni0918. | 3 个月前 | |
fix: copilot-plugin test checks all 6 command files (#393) Previously only checked 4 of 6. ponytail-gain.toml and ponytail-help.toml are now validated. Closes #381 Co-authored-by: Admin <admin@Admins-MacBook-Pro.local> | 2 个月前 | |
Fix ponytail test coverage and metadata (#503) Co-authored-by: Jack <jack@JackdeMacBook-Pro.local> | 2 个月前 | |
Avoid Gemini loading Claude hook events (#139) | 2 个月前 | |
feat: add Grok Build native skills adapter (revive #561) (#661) * feat: add Grok Build adapter (revive #561 on current main) Thin Grok packaging under .grok-plugin/ with root plugin.json path overrides (hooks + MCP). SessionStart/UserPromptSubmit/SubagentStart reuse shared hooks/ponytail-*.js; mode state under GROK_PLUGIN_DATA. Rebases the approach from #561 onto current main: keep Qoder detection and output paths, add isGrok, export getGrokPluginDataDir, drop bash-only exec from Grok hooks, and document install/enable/uninstall on the front-page README (en/es/ko) plus agent-portability. Direct install works today: grok plugin install DietrichGebert/ponytail --trust Marketplace root source ("./") matches Claude; Grok's scanner still rejects it (see xai-org/plugin-marketplace#123 class of bugs). Co-authored-by: Vinícius Souza <souza.vinicius@bb.com.br> * fix(grok): drop MCP, harden host detection and tests Review feedback on #661: - Remove MCP wiring (git install never installs ponytail-mcp deps; no other host ships MCP; hooks+skills cover always-on) - Drop static plugin-index.json (optional catalog fluff) - Clear GROK_PLUGIN_* in hooks.test.js so host suites cannot leak - Exclusive isGrok after Copilot/Codex; state falls back to ROOT not ~/.claude - Tighten Qoder regression assert; structural checks for plugin.json/hooks - List Grok Build among skill-capable hosts in README * refactor(grok): DRY — reuse Claude/Codex hooks map Second review pass for #661: - Delete .grok-plugin/hooks.json (near-copy of claude-codex-hooks.json). Root plugin.json points at the shared map; Grok sets CLAUDE_PLUGIN_ROOT. - Drop getGrokPluginDataDir; inline GROK_PLUGIN_DATA || ROOT like other hosts. - Grok uses Claude-compatible writeHookOutput (raw SessionStart, JSON SubagentStart) instead of a separate raw-only branch. - Slim .grok-plugin/marketplace.json to match .claude-plugin. - Tests: shared-map assert, SubagentStart JSON under Grok, Qoder isolation. * fix(grok): use native skill activation * chore: drop unrelated Qoder formatting --------- Co-authored-by: Vinícius Souza <souza.vinicius@bb.com.br> | 1 个月前 | |
Fix ponytail test coverage and metadata (#503) Co-authored-by: Jack <jack@JackdeMacBook-Pro.local> | 2 个月前 | |
fix: drop commandWindows from hooks.json for Claude.ai marketplace validation (#593) (#601) commandWindows is not part of the supported hooks schema for the Claude.ai plugin marketplace validator, which rejects it as an unknown field. The shared `command` field already runs cross-platform: Claude Code expands ${CLAUDE_PLUGIN_ROOT} before the shell sees it, VS Code Copilot ignores commandWindows and runs `command` through PowerShell on Windows, and `node` is natively available in both bash and PowerShell. Update the regression test to assert commandWindows is absent and remove the now-unused CMD_VAR_SYNTAX guard. Fix comment placeholder syntax ({{CLAUDE_PLUGIN_ROOT}} → ${CLAUDE_PLUGIN_ROOT}) and narrow test name. | 1 个月前 | |
fix: detect VS Code Copilot via CLAUDE_PLUGIN_ROOT fallback (#528) (#579) VS Code Copilot never sets COPILOT_PLUGIN_DATA, only CLAUDE_PLUGIN_ROOT (pointed at an .vscode/agent-plugins/... install path), so isCopilot was false and ponytail assumed native Claude Code — emitting the statusline setup nudge, which VS Code Copilot doesn't read. Also guard stateDir: it was built from the same unset COPILOT_PLUGIN_DATA whenever isCopilot resolved via this new fallback, so fall back to getClaudeDir() there too. | 1 个月前 | |
feat: ship ponytail to OpenClaw (ClawHub skill package) (#102) Adds .openclaw/skills/ (ponytail + review/audit/debt/help) generated from the canonical skills/ (verbatim body, no drift), a generator script, and a drift test. Verified live: loads as Ready in OpenClaw 2026.6.6. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> | 2 个月前 | |
fix: merge system entries in OpenCode plugin for Qwen compat (#296) (#536) 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> | 2 个月前 | |
Fix ponytail test coverage and metadata (#503) Co-authored-by: Jack <jack@JackdeMacBook-Pro.local> | 2 个月前 | |
fix: ship scripts/uninstall.js in the npm package (#538) The README tells users to run 'node scripts/uninstall.js' to clean up state left outside the plugin folder, but the package files list didn't include scripts/, so npm-installed users didn't have the file. Add scripts/uninstall.js to files (its only dependency, hooks/, already ships). Guard it with a test that asserts the files entry and that the file exists. Co-authored-by: Anmolnoor <52135717+Anmolnoor@users.noreply.github.com> | 2 个月前 | |
feat: add Qoder hooks support (UserPromptSubmit + PreToolUse) (#529) * feat: add Qoder hooks support (UserPromptSubmit + PreToolUse) - Add isQoder detection via QODER_SESSION_ID in ponytail-runtime.js - Add UserPromptSubmit double-duty: auto-activate + ruleset injection - Add PreToolUse hook with task|Task matcher for subagent injection - Create hooks/qoder-hooks.json reference template - Update .qoder-plugin/plugin.json with hooks field - Add .qoder/rules/ponytail.md for per-project rules - Add comprehensive tests for Qoder runtime behavior - Update README.md and docs/agent-portability.md * check-versions: enforce .qoder-plugin/plugin.json version too --------- Co-authored-by: shiding <shiding@ruigushop.com> Co-authored-by: Emeriko <dietrich.gebert@gmail.com> | 2 个月前 | |
fix: preserve combined statusline on uninstall (#550) | 2 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 个月前 | ||
| 3 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 1 个月前 | ||
| 1 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 |