A carefully designed set of custom instructions that provide Copilot with a persistent project context integrated with VS Code via structured Markdown files. It helps GitHub Copilot maintain understanding of the project across sessions, record decisions and task progress, and quickly provide relevant information when needed.
This project was inspired by:
- Kilo - Advanced memory bank usage documentation
- GitHub Awesome Copilot - Copilot memory bank instructions
- Persistent Memory: Maintain project knowledge across Copilot sessions using structured Markdown files
- Task Management: Track tasks with detailed progress logs and status updates
- Project Intelligence: Capture patterns, preferences, and insights to improve collaboration
- Real-time Updates: Continuously sync context; the AGENT updates its memory at appropriate times
Persist project details using a set of structured documents so Copilot can retain previous session knowledge across multiple conversations without re-prompting for the same information.
- ๐๏ธ Collect: Scan the repository for high-value information (architecture notes, decisions, READMEs, unfinished tasks).
- ๐งพ Structure: Place canonical files under
.memory-bank/for project brief, active context, decision logs, progress, and tasks. - ๐ Sync: Keep files updated during development (automatic triggers or manual
update memory bank). - ๐งญ Surface: Use these files as context, prompts, and decision history for Copilot.
- Clone or download this repository and ensure the custom instructions are placed in the project's
.githubdirectory. - Choose a high-performance model and use the built-in Agent mode to run the
initialize memory bankcommand to initialize the Memory Bank. - Review the initially generated memory bank documents and edit them to match the current project state.
- After updating the documents, Copilot will gain a deeper understanding of your project and use that knowledge in subsequent development.
Tip: Manually creating a projectbrief.md with key project information will significantly improve Copilot's initial performance.
.memory-bank/
โโโ projectbrief.md # Project summary and goals
โโโ productContext.md # Project goals, users, and value
โโโ activeContext.md # Current session focus and next steps
โโโ systemPatterns.md # System architecture and technical decisions
โโโ techContext.md # Technologies used and technical constraints
โโโ progress.md # Completed work and pending items
โโโ tasks/
โโโ _index.md # Tasks overview
โโโ TASKID-*.md # Individual task files
- Automatic: Optional automatic update triggers (pattern-based) let Copilot update the memory bank at appropriate times.
- Manual: Use the
update memory bankcommand to force Copilot to re-scan the project and refresh the memory bank.
Manage tasks and progress under the .memory-bank/tasks/ folder. Each task is an individual Markdown file (format: TASKID-taskname.md) and is listed in tasks/_index.md for easy tracking and history. You can ask Copilot to explain how the task system works, for example:
Please tell me how the Memory Bank task system works.
Create a task โ Document implementation plan โ Write progress logs in the task file โ Sync status in tasks/_index.md.
add task/create task: Create a new task file and add it totasks/_index.md.update task [ID]: Add a progress entry for today in the specified task file and update status fields (Status,Updated, etc.).show tasks [filter]: Display task lists with filters.
Contributions are welcome: please follow the Copilot custom instruction format when improving this repository.
You are permitted to use, copy, modify, merge, publish, distribute, and sublicense the contents of this repository without restriction.