AI persistent memory layer for VS Code Copilot
Project description
engaku
AI persistent memory layer for VS Code Copilot — keeps project context, rules, and active tasks in front of the agent at every turn through VS Code Agent Hooks.
What it does
engaku gives VS Code Copilot durable project memory stored in .ai/ Markdown files. Agent Hooks automatically inject current context into every conversation, surface active-task steps on each prompt, and remind the agent when a task plan is complete and ready for review.
Installation
pip install engaku
Or install directly from source:
pip install git+https://github.com/JorgenLiu/engaku.git
Quick Start
# Bootstrap .ai/ and .github/ structure in your repo
engaku init
After running init, VS Code Agent Hooks are active. The @dev, @planner, @reviewer, and @scanner agents are available via .github/agents/. No further manual steps are needed — hooks fire automatically on SessionStart, UserPromptSubmit, Stop, and PreCompact.
What engaku init creates
.ai/
overview.md — project description, constraints, tech stack
tasks/ — planner-managed task plans
decisions/ — architecture decision records
.github/
copilot-instructions.md — global agent rules
agents/ — dev, planner, reviewer, scanner agent definitions
instructions/ — .instructions.md stubs for hooks, templates, tests
skills/ — bundled skills (systematic-debugging, verification-before-completion, frontend-design)
Subcommands
| Command | Purpose |
|---|---|
init |
Bootstrap .ai/, .github/ structure and install VS Code Agent Hooks |
inject |
Inject .ai/overview.md + active-task context (SessionStart / PreCompact hook) |
prompt-check |
Detect rule/constraint in user prompt and inject active-task steps (UserPromptSubmit hook) |
task-review |
Detect completed task plans and emit handoff reminder (Stop hook) |
apply |
Apply .ai/engaku.json model config to .github/agents/ frontmatter |
How it works
After engaku init, four Agent Hooks fire automatically:
SessionStart→engaku inject: injectsoverview.mdand the current active-task context at the start of every session.PreCompact→engaku inject: re-injects context before conversation compaction so the agent doesn't lose project memory.UserPromptSubmit→engaku prompt-check: scans each user prompt for new rules or constraints and injects the active-task's unchecked steps as a system message so the agent always knows what to do next.Stop→engaku task-review: after each agent turn, checks whether all steps in an in-progress task plan are ticked and emits a handoff reminder if so.
Requirements
- Python ≥ 3.8 (stdlib only, no third-party dependencies)
- VS Code with GitHub Copilot
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file engaku-0.3.2.tar.gz.
File metadata
- Download URL: engaku-0.3.2.tar.gz
- Upload date:
- Size: 31.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7261efb3dce13609d048d52c00cdc5380b2425e201a16b562aef4f8d2c4b231e
|
|
| MD5 |
11af9908fb13cd782fadeff46a736723
|
|
| BLAKE2b-256 |
2ed61052c99f43c64d2dc99cdace80a3da2c892ced2044b2080d1afb2e91e400
|
Provenance
The following attestation bundles were made for engaku-0.3.2.tar.gz:
Publisher:
publish.yml on JorgenLiu/engaku
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
engaku-0.3.2.tar.gz -
Subject digest:
7261efb3dce13609d048d52c00cdc5380b2425e201a16b562aef4f8d2c4b231e - Sigstore transparency entry: 1317541479
- Sigstore integration time:
-
Permalink:
JorgenLiu/engaku@972b83f6085e062b2b4a98c5b10be152b46b5f82 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/JorgenLiu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@972b83f6085e062b2b4a98c5b10be152b46b5f82 -
Trigger Event:
push
-
Statement type:
File details
Details for the file engaku-0.3.2-py3-none-any.whl.
File metadata
- Download URL: engaku-0.3.2-py3-none-any.whl
- Upload date:
- Size: 33.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
333eefb42c3bc9c997be7db52abed8b33ce3be23846fa33994e02bd051629ca8
|
|
| MD5 |
7bc4b6093440fd527c47457b8a684755
|
|
| BLAKE2b-256 |
8eb96d19b30613159b66edb9574958d559895f4e8cde7f6f5bf2302e187c53db
|
Provenance
The following attestation bundles were made for engaku-0.3.2-py3-none-any.whl:
Publisher:
publish.yml on JorgenLiu/engaku
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
engaku-0.3.2-py3-none-any.whl -
Subject digest:
333eefb42c3bc9c997be7db52abed8b33ce3be23846fa33994e02bd051629ca8 - Sigstore transparency entry: 1317541520
- Sigstore integration time:
-
Permalink:
JorgenLiu/engaku@972b83f6085e062b2b4a98c5b10be152b46b5f82 -
Branch / Tag:
refs/tags/v0.3.2 - Owner: https://github.com/JorgenLiu
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@972b83f6085e062b2b4a98c5b10be152b46b5f82 -
Trigger Event:
push
-
Statement type: