Skip to content

[External Plugin]: copilot-cli-local-memory #2859

Description

@shankarnarayanb

Plugin name

copilot-cli-local-memory

Short description

Provides an explicit, deterministic local lifecycle for durable Copilot CLI instructions, stored as user-owned Markdown files.

GitHub repository

shankarnarayanb/copilot-cli-local-memory

Plugin path inside the repository

No response

Ref to review

v1.1.1

Commit SHA to review

46e45c28ae8bdb3271fffbbfe2c484dc6ac40aca

Version

1.1.1

License identifier

MIT

Author name

Shankar Balakrishna

Author URL

https://github.com/shankarnarayanb

Homepage URL

No response

Keywords

copilot-cli, memory, local-first, developer-tools

Additional notes for reviewers

How this differs from built-in Copilot Memory

Copilot Memory and this plugin address related but different workflows.

GitHub’s built-in Copilot Memory is a GitHub-managed, agent-driven service. It stores repository facts and user preferences across supported Copilot surfaces. In Copilot CLI, /memory currently controls whether that service is on or off and shows its status. Individual entries are reviewed or deleted through GitHub settings, and unused memories can expire after 28 days.

Copilot CLI Local Memory instead manages the CLI’s documented local modular-instruction files:

  • /remember deterministically saves exactly the caveat requested by the user.
  • /memories lists and searches locally stored entries.
  • /forget removes a specific entry from the CLI.
  • Each entry is an ordinary .instructions.md file that the user can read, edit, back up or delete.
  • applyTo globs can restrict an instruction to relevant files.
  • Entries remain until the user chooses to remove them.
  • It can be used where GitHub-managed Memory is disabled but local plugins and custom instructions are permitted.

The plugin therefore complements Copilot Memory rather than replacing or bypassing it. Its specific value is local ownership, explicit capture and a deterministic lifecycle for durable instructions.

An open Copilot CLI feature request also identifies local, plain-Markdown memory as a separate requirement when remote Memory is unavailable. That proposal is broader and agent-initiated, whereas this plugin keeps capture explicit and user-controlled:

github/copilot-cli#2930

Why this exists

Developers often realise that something is worth preserving while they are already working:

  • “Don’t touch production until you’ve shown me the dry run.”
  • “When this access token expires, refresh it once before retrying.”
  • “This generated directory is rebuilt automatically; don’t edit it by hand.”

These instructions can be maintained manually, but stopping to locate and edit an instruction file breaks the flow at the moment the rule is discovered. This plugin lets the user say “save this decision to local memory” and continue working.

The scope is deliberately small. It is not a transcript store, knowledge base or RAG system. It requires no PostgreSQL, SQLite, vector database, embedding model or background server. The installed runtime consists of two JavaScript files and uses only Node.js built-ins.

The documentation makes clear that storage is local, but applicable instructions may still be included in prompts sent to Copilot. It also warns users not to store secrets and states that the plugin does not bypass enterprise policy.

Extensions are currently experimental in Copilot CLI, so users must enable experimental features with copilot --experimental or /experimental on.

References

Submission checklist

  • The plugin lives in a public GitHub repository.
  • The ref and/or sha I provided is immutable (release tag and/or full 40-character commit SHA), not a branch.
  • This submission follows this repository's contribution, security, and responsible AI policies.
  • This plugin is not already listed in the Awesome Copilot marketplace.

Metadata

Metadata

Assignees

No one assigned

    Labels

    external-pluginPublic external plugin submissionready-for-reviewSubmission passed intake validation and is ready for maintainer review

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions