创建: 2025-11-07 版本: 0.1.0
GitHub星级存储库的基于终端的文件管理器,灵感来自ranger。使用类似vim的键绑定和多窗格界面导航、组织和管理GitHub stars。
特性
- 双接口:TUI(文本)和MCP(模型上下文协议)服务器
- 米勒柱:三列测距仪样式视图(文件夹|存储库|预览)
- 虚拟文件夹:使用基于标签的虚拟文件夹组织星星
- 自动分类:按语言、主题和活动自动对存储库进行分类
- Vim密钥绑定:hjkl导航、视觉模式、剪切/复制/粘贴
- 智能缓存:用于脱机浏览和减少API调用的SQLite缓存
- 双重认证:OAuth设备流或个人访问令牌
安装
先决条件
- Python 3.10或更高版本
- 诗歌(用于依赖管理)
- GitHub账号
安装诗歌
# Clone the repository
git clone https://github.com/synapticsage/ganger.git
cd ganger
# Install dependencies
poetry install
# Activate the virtual environment
poetry shell
# Run authentication setup
ganger auth
# Start the TUI
ganger tui
# Or start the MCP server
ganger mcp快速开始
认证
Ganger支持两种身份验证方法:
- OAuth设备流 (推荐):
ganger auth
# Follow the prompts to authenticate via browser- 个人访问令牌:
export GITHUB_TOKEN=your_token_here
ganger tuiMCP服务器
MCP服务器允许LLM代理编排GitHub星型管理:
# Start MCP server
ganger mcp
# The server exposes tools like:
# - list_starred_repos
# - create_virtual_folder
# - move_repo_to_folder
# - star_repository
# - get_repo_details配置
配置文件: ~/.config/ganger/config.yaml
看 config/config.yaml 默认设置和可用选项。
项目状态
第一阶段(进行中):核心基金会
- \[x\] 项目结构和依赖关系
- \[\]核心数据模型
- \[\]GitHub身份验证(OAuth+PAT)
- \[\]GitHub API客户端(REST+GraphQL)
- \[\]SQLite缓存
- \[\]具有自动分类功能的文件夹管理器
- \[\]MCP服务器
- \[\]配置系统
- \[\]单元测试
第二阶段(计划中):TUI接口 第三阶段(计划中):高级功能
建筑
Ganger使用TUI和MCP接口都使用的干净的服务层架构:
ganger/
├── core/ # Business logic (shared)
│ ├── models.py
│ ├── github_client.py
│ ├── cache.py
│ ├── auth.py
│ └── folder_manager.py
├── mcp/ # MCP server interface
│ ├── server.py
│ └── tools.py
└── tui/ # TUI interface (Phase 2)
└── app.py发展
运行测试
poetry run pytest代码质量
# Format code
poetry run black src/ tests/
# Lint
poetry run ruff check src/ tests/
# Type checking
poetry run mypy src/许可证
麻省理工学院
