Local-first memory for GitHub Copilot in VS Code

Give GitHub Copilot a local memory.

FalkonPilot is a VS Code agent plugin that reviews eligible root responses once, keeps durable lessons, and leaves an audit trail your team can inspect.

Stop re-explaining the same team pattern. Stop losing the correction you made three sessions ago. Keep the lesson. Keep the proof. Keep it on your machine.

  • Durable lessons in .github/copilot-instructions.md
  • Audit receipts in .github/.falkonpilot/
  • Source install through chat.pluginLocations

Audit receipt

Every learning decision leaves proof.

  • ReviewedEligible root response
  • OutcomeRecord or skip
  • TargetManaged lesson block

Managed lessons

<!-- FALKONPILOT_AUTO_MANAGED_LESSONS -->
When a pattern repeats, keep the fix once.
<!-- FALKONPILOT_AUTO_MANAGED_END -->

1.0 release path

  1. Download the zip
  2. Register falkonpilot-plugin/
  3. Work normally in VS Code
Free 1.0 zip install
Local-first runtime
One hidden review max per eligible response
Human-readable audit trail
macOS, Linux, Windows helper bundles

The problem

Copilot starts cold. Your team pays the context tax.

Stateless AI is useful, but it forgets the correction you taught it. That forces you to repeat the same guidance, re-apply the same pattern, and re-learn the same project reality from scratch.

You become the memory.

Team conventions, risk boundaries, and hard-earned fixes live in your head unless you keep restating them.

Corrections do not compound.

The same mistake can come back next session because the previous correction never became durable guidance.

Most memory workarounds skip the proof.

Persistence alone is not enough when you cannot inspect what the assistant learned, why it learned it, or whether that lesson should exist at all.

How it works

FalkonPilot gives Copilot one bounded chance to learn from real work.

The point is not an endless critique loop. The point is one disciplined pass that can keep a durable lesson when the evidence supports it and stay quiet when it does not.

01

Work normally

You keep using GitHub Copilot in VS Code. FalkonPilot does not ask you to switch to a new workflow.

02

Copilot answers

FalkonPilot waits until an eligible root response finishes instead of interrupting the middle of the exchange.

03

One hidden review runs

If the response is reviewable, FalkonPilot can run one bounded hidden review for that output. No recursive self-review loop. No repeated passes.

04

Lessons and proof stay local

Durable lessons land in the managed block, while audit artifacts under .github/.falkonpilot/ show what was reviewed and what was decided.

Runtime footprint

.github/.falkonpilot/
├── <session-id>-audit.md
├── <session-id>-debug.md
├── <session-id>-log.md
└── settings.json

What it changes

  • Turns repeated corrections into durable guidance
  • Preserves a human-readable audit trail
  • Keeps temporary session evidence separate from durable lessons

Proof, not promises

The audit trail is the trust surface.

FalkonPilot is valuable because it does not ask you to trust a black box. It leaves a readable receipt of what was reviewed, what lesson was kept or skipped, and where the durable result lives.

Inspectable by humans

Open the audit file and see what happened.

When something goes right or wrong, the product leaves behind an artifact you can read, audit, and discuss with your team.

Mechanically bounded

  • Only eligible root responses reach the review boundary
  • At most one hidden review runs for that output
  • Earlier handoff state does not become unbounded durable memory

Local-first by design

The 1.0 release uses zip install, workspace-local settings, workspace-local artifacts, and durable lessons inside your own instructions file.

What ships in 1.0

Download the zip and use FalkonPilot in VS Code.

FalkonPilot installs as a local plugin from the downloaded package.

Free zip install

Register falkonpilot-plugin/ with chat.pluginLocations and start using FalkonPilot.

Bundled helper coverage

The helper bundle includes darwin-arm64, darwin-amd64, linux-arm64, linux-amd64, and windows-amd64 artifacts.

Workspace-owned settings

Runtime controls live in .github/.falkonpilot/settings.json so the review loop stays explicit, bounded, and inspectable.

What about commercial offerings?

As it happens, the maintainer dawns multiple hats and does not currently have the luxury of time. Given enough interest or time to ideate, they are certainly open to develop things further.

Quick start

Register the plugin in VS Code

{
  "chat.pluginLocations": {
    "/path/to/falkonpilot-plugin": true
  }
}

Replace the example path with the local path to the falkonpilot-plugin/ folder from the downloaded package.

Why this is different

Memory without an audit trail leaves a trust gap.

Stateless assistant

Useful in the moment, but the correction disappears unless you restate it next time.

External memory layer

Adds persistence, but it does not give you FalkonPilot's local, per-session, human-readable audit receipts.

FAQ

Questions worth answering before you install.

Does FalkonPilot send my code or lessons to FalkonPilot servers?

The 1.0 release is local-first. Durable lessons live in .github/copilot-instructions.md, and runtime artifacts live under .github/.falkonpilot/ in your workspace.

How do I install FalkonPilot?

Download the zip, then register the falkonpilot-plugin/ folder with VS Code through the chat.pluginLocations setting. The install guide on this page walks through the exact path.

Is this a marketplace install?

No. FalkonPilot installs from the downloaded package through a local plugin registration flow.

What platforms are covered in the helper bundle?

The helper bundle includes darwin-arm64, darwin-amd64, linux-arm64, linux-amd64, and windows-amd64 artifacts.

What settings can I configure for FalkonPilot?

FalkonPilot settings are workspace-specific. The helper stores them in .github/.falkonpilot/settings.json and creates or repairs that file when FalkonPilot runs in the workspace.

Supported settings:

  • debug: turns debug logging on or off. Valid: true or false. Default: false.
  • debug_retention_hours: deletes older debug artifacts when debug=true. Valid: 1-168. Default: 6.
  • purge_tail: controls how many turns of session evidence remain after each review. Valid: 1-10. Default: 5.
  • review_frequency: runs one hidden review every N eligible turns. Valid: 1-10. Default: 2.
  • max_reviews_per_session: caps hidden reviews in a single session. Valid: 1-50. Default: 5.
  • session_log_retention_minutes: deletes older non-debug session artifacts. Valid: 1-60. Default: 15.

The helper also writes adjacent *-help keys into settings.json so the file documents each field inline. If a setting is missing, has the wrong type, or falls outside the allowed range, FalkonPilot repairs it back to a valid default.

Which models does FalkonPilot use?

FalkonPilot Plugin comes with 2 agents:

  1. A strategic built-in agent that uses your chosen model in VS Code.
  2. A hidden self-learning agent that uses the free Raptor mini (Preview) model from the VS Code extension's bundled models. This agent runs hidden reviews at Stop time and does not require a separate API key or consume your paid quota.
How do I know FalkonPilot is active, and why didn't it review my first response?

After submitting the first prompt in a session, you should see .github/.falkonpilot/, and per-session artifacts such as audit or log files. You should also see a managed FalkonPilot lesson block in .github/copilot-instructions.md.

If the first response was not reviewed, check .github/.falkonpilot/settings.json. The default review_frequency is 2, so FalkonPilot reviews every second eligible root response by default: eligible turns 2, 4, 6, and so on. Subagent runs and FalkonPilot's own internal runs are not eligible. Also a the reviews are capped at 5 per session by default, so if you have a long session with many eligible responses, you may hit that cap before the first response is reviewed. We've found the first few responses useful to steer the session. Later the session becomes more consistent as teething issues are settled.

What files will FalkonPilot create or modify in my workspace?

FalkonPilot bootstraps .github/, .github/.falkonpilot/, .github/.falkonpilot/settings.json, and .github/.falkonpilot/.gitignore.

It can write per-session runtime files such as <session-id>-log.md, <session-id>-audit.md, <session-id>-debug.md, <session-id>-state.json, <session-id>-review-request.json, and <session-id>-learning.md when lessons are kept. It also creates or repairs the FalkonPilot managed lesson markers in .github/copilot-instructions.md and writes durable lessons only inside that managed block.

Should I commit FalkonPilot artifacts, and what is intentionally ignored?

Usually you should not commit per-session FalkonPilot artifacts. The helper-generated .github/.falkonpilot/.gitignore intentionally ignores *-log.md, *-debug.md, *-audit.md, *-state.json, and *-review-request.json.

Workspace settings in .github/.falkonpilot/settings.json and durable lessons in .github/copilot-instructions.md are the long-lived surfaces. Track those only if your repository policy should share FalkonPilot configuration and lessons across contributors.

How do I disable, uninstall, or reset FalkonPilot?

To disable FalkonPilot, remove the falkonpilot-plugin/ entry from chat.pluginLocations or set that path to false. To uninstall it, remove the local plugin folder and its chat.pluginLocations entry.

To reset the workspace state, delete .github/.falkonpilot/. If you also want to remove durable FalkonPilot lessons, delete only the FalkonPilot managed lesson block from .github/copilot-instructions.md.

Do I need VS Code Insiders or preview support for this to work?

Yes. FalkonPilot depends on the VS Code agent plugin and hooks preview surfaces, so you need a VS Code build that exposes those preview features.

FalkonPilot is not a marketplace extension install. It is a source-installed agent plugin registered through chat.pluginLocations.

What is the difference between the audit, log, debug, and learning files?

The -log.md file records session evidence for the review handoff. The -audit.md file is the durable review receipt that says what FalkonPilot decided and why.

The -debug.md file is a detailed hook-by-hook diagnostic log and is only useful when debug logging is enabled. The -learning.md file is a per-session receipt showing which lessons were actually kept after the audit judgment was accepted.

What should I do if FalkonPilot says the helper is stale or the rebuild failed?

Run falkonpilot-plugin/scripts/build_session_hook.sh on macOS or Linux, or .\scripts\build_session_hook.ps1 on Windows.

FalkonPilot skips its hidden review when the helper is out of date because it does not trust stale helper behavior. If the automatic rebuild fails, rebuild manually, make sure the required Go toolchain or bundled Go assets are available, and then retry.

Will FalkonPilot overwrite my existing copilot-instructions.md?

No. FalkonPilot creates .github/copilot-instructions.md only if it is missing, ensures the FalkonPilot marker block exists, and writes durable lessons only between the FalkonPilot managed markers.

It does not overwrite the rest of your instructions file.

Why did my old logs disappear?

That is expected. FalkonPilot automatically purges older session artifacts under .github/.falkonpilot/ based on settings in .github/.falkonpilot/settings.json.

By default, non-debug session artifacts older than 15 minutes are removed, and debug artifacts older than 6 hours are removed when debug logging is enabled. The current session is never purged.

What about commercial offerings?

As it happens, the maintainer dawns multiple hats and does not currently have the luxury of time. Given enough interest or time to ideate, they are certainly open to develop things further.

Ready to try it?

Install the free 1.0 release and let Copilot stop starting cold.

FalkonPilot pairs bounded review, durable local lessons, and proof you can inspect.