Evergreen

Logo

Local-first deprecation intelligence for software repositories.

View the Project on GitHub arminazimi/evergreen

Evergreen plugin for Claude

Evergreen’s Claude plugin packages the canonical lifecycle Skill with the same version-pinned local MCP server used by the Codex adapter. It does not fork detectors, migration logic, or verification behavior.

Requirements

Install

Install directly from Evergreen’s GitHub marketplace:

claude plugin install evergreen --marketplace arminazimi/evergreen

For older Claude Code versions, add the marketplace and install in two steps:

claude plugin marketplace add arminazimi/evergreen
claude plugin install evergreen@evergreen

Choose a scope when needed:

claude plugin install evergreen@evergreen --scope user
claude plugin install evergreen@evergreen --scope project
claude plugin install evergreen@evergreen --scope local

User scope enables Evergreen for you on this machine. Project scope records it in the repository’s .claude/settings.json for collaborators. Local scope enables it only for you in the current repository.

For development without installing, load the adapter directory for one session:

claude --plugin-dir ./plugins/claude

Confirm

claude plugin list
claude plugin details evergreen

The installed plugin exposes the evergreen-deprecation Skill and the local evergreen MCP server. Scan, list, explain, context, and verify behavior is checked against the Codex adapter by npm run eval:plugins.

Dependency guard

The plugin includes a PostToolUse hook that runs after Claude Code writes or edits a file. When the edit adds a dependency that Evergreen’s lifecycle rules mark as deprecated, Claude gets a warning with the evidence and the replacement, and you see a one-line notice.

What it looks at:

Only what the edit added is checked, so existing dependencies never produce repeated warnings. For a range such as ^2.88.2 the lower bound is checked.

Evergreen: pkg:npm/request@2.88.2 — request is deprecated (high, deprecated).
The package is fully deprecated and no new changes are expected.
Replacement: Native fetch or a maintained HTTP client.
Evidence: https://www.npmjs.com/package/request

Behavior you can rely on:

The hook script is generated from integrations/dependency-guard/guard.mjs, which the Codex integration shares. It uses the same pinned package as the MCP server (evergreen-deprecation@<version>). Set EVERGREEN_CHECK_COMMAND to use another Evergreen command, for example a local build.

Update

claude plugin update evergreen@evergreen

The marketplace has automatic updates off by default. You can manage that setting from the Marketplaces tab in /plugin.

Disable and re-enable

claude plugin disable evergreen@evergreen
claude plugin enable evergreen@evergreen

Disabling stops the Skill and MCP server from loading but keeps the installed files and settings.

Remove

claude plugin uninstall evergreen@evergreen

If it was installed at project scope, add --scope project. To remove the marketplace after uninstalling its plugin:

claude plugin marketplace remove evergreen

Public directory submission

The public Claude directory submission uses:

The submitter must connect a GitHub account with push access, answer Anthropic’s data-handling and compliance questions, and submit from the Claude developer portal. The local package is prepared for that review with a manifest, README, Apache-2.0 license, exact npm runtime pin, strict Claude validation, and the repository security/evaluation evidence in Plugin host evaluation.