{"id":48684109,"url":"https://github.com/klauern/memory-banker","last_synced_at":"2026-04-11T03:48:13.530Z","repository":{"id":298604537,"uuid":"1000517778","full_name":"klauern/memory-banker","owner":"klauern","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-21T02:43:16.000Z","size":361,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-11T03:47:42.186Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/klauern.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-11T23:09:56.000Z","updated_at":"2025-10-08T23:52:51.000Z","dependencies_parsed_at":"2025-06-12T00:34:08.259Z","dependency_job_id":"58260184-d8c0-465e-b3b8-61eac19935ef","html_url":"https://github.com/klauern/memory-banker","commit_stats":null,"previous_names":["klauern/memory-banker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/klauern/memory-banker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauern%2Fmemory-banker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauern%2Fmemory-banker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauern%2Fmemory-banker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauern%2Fmemory-banker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/klauern","download_url":"https://codeload.github.com/klauern/memory-banker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauern%2Fmemory-banker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31668050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"online","status_checked_at":"2026-04-11T02:00:05.776Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-11T03:48:12.722Z","updated_at":"2026-04-11T03:48:13.512Z","avatar_url":"https://github.com/klauern.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Memory Banker\n\n**Agentically create Cline-style memory banks for your projects**\n\nMemory Banker is a Python CLI tool that uses OpenAI Agents to intelligently analyze your projects and generate comprehensive memory banks following Cline's memory management principles. These memory banks help AI assistants maintain context and understanding across development sessions.\n\n## Features\n\n- **Agent-Based Analysis**: Uses specialized AI agents to analyze different aspects of your project\n- **Complete Memory Bank Structure**: Generates all 6 core Cline-style memory bank files\n- **Fast \u0026 Intelligent**: Leverages OpenAI's models through the openai-agents framework\n- **Configurable**: Customizable timeouts, models, and project paths\n- **Any Project Type**: Works with Python, Node.js, Go, Rust, and other project types\n- **Update \u0026 Refresh**: Keep your memory banks current as your project evolves\n\n## What are Memory Banks?\n\nMemory banks are structured documentation files that help AI assistants understand your project's context, architecture, and current state. Inspired by [Cline's memory management system](https://docs.cline.bot/), they include:\n\n- **`projectbrief.md`** - Foundation document with project scope and requirements\n- **`productContext.md`** - Why the project exists and problem space analysis  \n- **`activeContext.md`** - Current development state and next steps\n- **`systemPatterns.md`** - Architecture and design patterns\n- **`techContext.md`** - Technology stack and development setup\n- **`progress.md`** - What works, what's left, and project evolution\n\n## Installation\n\n### Prerequisites\n\n- Python 3.13 or higher\n- OpenAI API key\n\n### Using uv (Recommended)\n\n#### Option 1: Install as a tool (global)\n\n```bash\nuv tool install git+https://github.com/klauern/memory-banker.git\n```\n\n#### Option 2: Development installation\n\n```bash\ngit clone https://github.com/klauern/memory-banker.git\ncd memory-banker\nuv sync\n```\n\nBoth options will make the `memory-banker` command available.\n\n### Using pip\n\n```bash\ngit clone https://github.com/klauern/memory-banker.git\ncd memory-banker\npip install -e .\n```\n\n## Quick Start\n\n1. **Set your OpenAI API key:**\n\n   ```bash\n   export OPENAI_API_KEY=your_api_key_here\n   ```\n\n2. **Initialize a memory bank for your project:**\n\n   ```bash\n   # Using uv (recommended)\n   uv run memory-banker init\n   \n   # Or if installed globally\n   memory-banker init\n   ```\n\n3. **Check the generated files:**\n\n   ```bash\n   ls memory-bank/\n   # projectbrief.md  productContext.md  activeContext.md  \n   # systemPatterns.md  techContext.md  progress.md\n   ```\n\n## Usage\n\n### Commands\n\n```bash\n# Initialize a new memory bank\nmemory-banker init\n\n# Update existing memory bank files  \nmemory-banker update\n\n# Completely refresh/rebuild the memory bank\nmemory-banker refresh\n```\n\n### Options\n\n```bash\n# Use a different project directory\nmemory-banker --project-path /path/to/project init\n\n# Use a different model\nmemory-banker --model gpt-4 init\n\n# Set custom timeout (in seconds)\nmemory-banker --timeout 600 init\n\n# Use custom API key\nmemory-banker --api-key your_key_here init\n```\n\n### Full Example\n\n```bash\n# Generate memory bank for a large project with 10-minute timeout\nmemory-banker --project-path ~/my-big-project --timeout 600 --model gpt-4 init\n```\n\n## Configuration\n\n### Environment Variables\n\n- `OPENAI_API_KEY` - Your OpenAI API key (required)\n\n### Supported Models\n\nAny model supported by the OpenAI Agents framework:\n\n- `gpt-4.1-mini` (default) - Fast and cost-effective\n- `gpt-4o` - More comprehensive analysis\n- `gpt-4` - High-quality detailed analysis\n- And many others via LiteLLM integration\n\n### Timeout Settings\n\n- **Default**: 300 seconds (5 minutes) per agent\n- **Recommended**: 600 seconds (10 minutes) for complex projects\n- **Quick test**: 120 seconds (2 minutes) for simple projects\n\n## Project Structure\n\n```\nmemory-banker/\n├── memory_banker/       # Core package\n│   ├── __init__.py\n│   ├── cli.py          # CLI entry point and implementation\n│   ├── agents.py       # AI agents for analysis\n│   └── memory_bank.py  # Memory bank file management\n├── pyproject.toml      # Project configuration\n└── README.md          # This file\n```\n\n## How It Works\n\n1. **Project Analysis**: Scans your project structure, files, git history, and dependencies\n2. **Specialized Agents**: Six specialized AI agents analyze different aspects:\n   - **ProjectBriefAgent**: Creates foundation document with scope and requirements\n   - **ProductContextAgent**: Analyzes why the project exists and problem space\n   - **ActiveContextAgent**: Determines current development state and next steps\n   - **SystemPatternsAgent**: Documents architecture and design patterns\n   - **TechContextAgent**: Captures technology stack and setup instructions\n   - **ProgressAgent**: Tracks what works, what's left, and project evolution\n3. **Memory Bank Generation**: Creates structured markdown files in `memory-bank/` directory\n\n## Keeping Memory Banks Updated\n\nMemory banks should be updated as your project evolves:\n\n```bash\n# Quick update of existing files\nmemory-banker update\n\n# Complete regeneration (recommended after major changes)\nmemory-banker refresh\n```\n\n## Example Output\n\nAfter running `memory-banker init`, you'll get a `memory-bank/` directory with comprehensive documentation like:\n\n**projectbrief.md**:\n\n```markdown\n# Project Brief: My Awesome Project\n\n## Project Overview\nA comprehensive web application that solves X problem by providing Y solution...\n\n## Core Requirements and Goals  \n- Implement user authentication and authorization\n- Provide real-time data synchronization\n- Support scalable microservices architecture\n...\n```\n\n**activeContext.md**:\n\n```markdown\n# Active Context\n\n## Current Work Focus\nCurrently implementing the user authentication system using JWT tokens...\n\n## Recent Changes\n- Added user registration endpoint\n- Implemented password hashing with bcrypt\n- Set up JWT token generation and validation\n...\n```\n\n## Troubleshooting\n\n### Common Issues\n\n**Import Errors**:\n\n```bash\n# Make sure you're in the right environment\nuv run memory-banker --help\n```\n\n**API Errors**:\n\n```bash\n# Check your API key\necho $OPENAI_API_KEY\n```\n\n**Timeout Issues**:\n\n```bash\n# Increase timeout for complex projects\nmemory-banker --timeout 900 init\n```\n\n**Permission Errors**:\n\n```bash\n# Make sure the directory is writable\nls -la\n```\n\n## Development\n\n### Running Tests\n\n```bash\nuv run pytest\n```\n\n### Installing for Development\n\n```bash\ngit clone https://github.com/yourusername/memory-banker.git\ncd memory-banker\nuv sync --dev\n```\n\n## Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Inspired by [Cline's memory management system](https://docs.cline.bot/)\n- Built with [OpenAI Agents](https://github.com/openai/openai-agents-python)\n- Uses [Click](https://click.palletsprojects.com/) for the CLI interface\n\n## Support\n\n- [Report bugs](https://github.com/yourusername/memory-banker/issues)\n- [Request features](https://github.com/yourusername/memory-banker/issues)\n- [Read the docs](https://github.com/yourusername/memory-banker/wiki)\n\n---\n\n**Happy memory banking!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklauern%2Fmemory-banker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklauern%2Fmemory-banker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklauern%2Fmemory-banker/lists"}