An open API service indexing awesome lists of open source software.

https://github.com/ronakmunjapara/copilot-memory-bank

A CLI tool to enable persistent memory for GitHub Copilot by managing structured markdown documentation.
https://github.com/ronakmunjapara/copilot-memory-bank

ai cli cli-tool developer-tools documentation github-copilot github-copilot-chat markdown memory-bank productivity templates

Last synced: 2 months ago
JSON representation

A CLI tool to enable persistent memory for GitHub Copilot by managing structured markdown documentation.

Awesome Lists containing this project

README

          

# Copilot Memory Bank

🧠 A CLI tool to enable persistent memory for GitHub Copilot by managing structured markdown documentation.

## Overview

GitHub Copilot doesn't retain memory between sessions. This tool solves that by scaffolding a persistent "Memory Bank" that documents your evolving project state for Copilot to consume.

## Features

- **🚀 Quick Setup**: Initialize with `npx github-copilot-bank init`
- **📝 Smart Templates**: Pre-built markdown templates for different aspects of your project
- **🔄 Flexible Updates**: Options to force overwrite or update missing files only
- **🤖 AI-Optimized**: Templates designed to be easily consumed by GitHub Copilot

## Installation

### Global Installation
```bash
npm install -g copilot-memory-bank
copilot-memory-bank init
```

### One-time Use (Recommended)
```bash
npx copilot-memory-bank init
```

## Usage

### Initialize Memory Bank
```bash
# Basic initialization
npx copilot-memory-bank init

# Include Copilot instruction file
npx copilot-memory-bank init --with-instruction

# Force overwrite existing files
npx copilot-memory-bank init --force

# Update only missing files
npx copilot-memory-bank init --update
```

### CLI Options

- `--force`: Overwrite existing memory bank files
- `--update`: Regenerate only missing templates
- `--with-instruction`: Add `copilot-instruction.md`

## Generated Structure

After running the init command, you'll get:

```
📁 memory-bank/
├── product-context.md # Project overview and technical stack
├── active-context.md # Current tasks and team assignments
├── progress.md # Changelog-style progress log
├── decision-log.md # Architectural decisions with rationale
├── system-patterns.md # Code patterns and conventions
└── copilot-instruction.md # Instructions for GitHub Copilot (optional)
```

## Template Contents

### `product-context.md`
- Project name, description, and version
- Business goals and target audience
- Core features and technical stack
- Key dependencies

### `active-context.md`
- Current sprint/iteration information
- Tasks in progress with assignments
- Current focus areas and blockers
- Pending decisions

### `progress.md`
- Chronological log of completed work
- Current progress and next steps
- Resolved issues and milestones

### `decision-log.md`
- Architectural and implementation decisions
- Context, rationale, and consequences
- Decision status tracking

### `system-patterns.md`
- Architecture and code patterns
- Naming conventions and style guides
- Reusable components and best practices

### `copilot-instruction.md` (Optional)
- Direct instructions for GitHub Copilot
- Context file explanations
- Project priorities and constraints

## Best Practices

1. **Keep It Updated**: Regularly update the memory bank as your project evolves
2. **Be Specific**: Fill in detailed, project-specific information in the templates
3. **Reference in Conversations**: Mention the memory bank when asking Copilot for help
4. **Team Alignment**: Ensure all team members contribute to keeping it current

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

MIT License - see LICENSE file for details.

## Support

If you encounter any issues or have suggestions, please create an issue on the GitHub repository.