Skip to content

✨ Add Rudder update workflow - #87

Merged
Vivekyy merged 3 commits into
mainfrom
Vivekyy/plugin-update-ux
Jul 29, 2026
Merged

✨ Add Rudder update workflow#87
Vivekyy merged 3 commits into
mainfrom
Vivekyy/plugin-update-ux

Conversation

@Vivekyy

@Vivekyy Vivekyy commented Jul 29, 2026

Copy link
Copy Markdown
Collaborator

Adds a cached npm update check and guided default rudder@rudder update flow for Codex and Claude Code. Adds red-green, prompt-backed coverage instructions and restores tagged generated tests after resetting test paths. Bumps plugin manifests and package version to 0.1.3 and adds tests for update, retry, CLI, and workflow behavior. Validated with npm test, npm run typecheck, and Node coverage for update.mjs (90.06% lines).


Open in Stage

Greptile Summary

Adds a cached npm update workflow and expands Rudder’s prompt-backed test-generation process.

  • Adds update checking and guided plugin updates for Codex and Claude Code.
  • Adds question-driven coverage and red-green TDD instructions.
  • Preserves tagged generated tests when resetting approved test paths.
  • Bumps package and plugin manifests to version 0.1.3.
  • Adds package, CLI, caching, retry, and workflow tests.

Confidence Score: 4/5

The failed-check cache behavior should be fixed before merging because a transient registry outage can suppress update discovery for the full cache interval.

The failure path records a fresh timestamp even though no fresh registry value was obtained, and every subsequent normal invocation trusts that timestamp and skips the registry for up to 24 hours.

Files Needing Attention: skills/rudder/scripts/update.mjs

Important Files Changed

Filename Overview
skills/rudder/scripts/update.mjs Implements update discovery, caching, semantic-version comparison, CLI handling, and host update commands; failed checks incorrectly refresh cache freshness.
skills/rudder/SKILL.md Adds the update-notice flow, question-driven coverage, red-green production changes, and tagged-test restoration instructions.
test/skill-runtime.test.ts Adds runtime coverage for update caching, stale fallback, host plans, CLI errors, and command retries, but does not verify a subsequent ordinary check after registry failure.
test/plugin-package.test.ts Adds package-level assertions for the new update and prompt-backed workflow instructions.
package.json Bumps the published package version to 0.1.3.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Rudder invocation] --> B[Run update.mjs check]
    B --> C{Cache fresh?}
    C -- Yes --> D[Return cached version]
    C -- No --> E[Fetch npm latest version]
    E -- Success --> F[Cache version and timestamp]
    E -- Failure --> G[Cache stale or null version with new timestamp]
    D --> H{Update available?}
    F --> H
    G --> H
    H -- Yes --> I[Show update notice]
    H -- No --> J[Continue Rudder workflow]
    I --> J
    I --> K[User accepts later]
    K --> L[Apply host update]
Loading

Fix All in Cursor Fix All in Conductor

Reviews (1): Last reviewed commit: "✨ Add Rudder update workflow" | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

Co-authored-by: Codex Agent <codex-agent@openai.com>
@github-actions

Copy link
Copy Markdown

🔌 Merging this PR will release the Rudder plugin

Publish @ruddercode/rudder-plugin@0.1.3 through npm Trusted Publishing.
Create the plugin tag rudder-plugin-v0.1.3.
Create the GitHub Release for rudder-plugin-v0.1.3.

The release runs through .github/workflows/publish.yml after merge.

@ghost

ghost commented Jul 29, 2026

Copy link
Copy Markdown

Ready to review this PR? Stage has broken it down into 5 individual chapters for you:

Title
1 Bump package and plugin manifest versions
2 Implement npm update check and apply logic
3 Define update and TDD workflow instructions
4 Verify update and workflow behavior with tests
5 Other changes
Open in Stage

Chapters generated by Stage for commit 3941faa on Jul 29, 2026 9:05pm UTC.

Co-authored-by: Codex Agent <codex-agent@openai.com>
Comment thread skills/rudder/scripts/update.mjs Outdated
Comment on lines +216 to +220
const nextState = {
schemaVersion: 1,
lastCheckedAt: new Date(now).toISOString(),
latestVersion: cachedVersion(state),
};

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Failed checks refresh cache freshness

When a registry request fails, this branch records the current time in lastCheckedAt; subsequent ordinary Rudder invocations treat the unavailable or stale result as fresh and skip the registry for up to 24 hours, suppressing an available update or continuing to report an obsolete version.

Fix in Cursor Fix in Conductor

Co-authored-by: Codex Agent <codex-agent@openai.com>
@Vivekyy
Vivekyy merged commit f3b61e9 into main Jul 29, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant