项目跟踪器
面向软件工程经理的智能项目和资源管理应用程序,通过模型上下文协议(MCP)与人工智能集成。
概述
项目跟踪器帮助工程经理跟踪项目、计划、截止日期、员工信息和利益相关者互动。它通过与Claude Desktop和其他兼容MCP的AI助手配合使用的MCP服务器提供AI助手集成。
特性
- 项目管理:跟踪当前项目及其状态
- 倡议跟踪:监测公司举措和目标
- 截止日期管理:跟踪即将到来的截止日期和里程碑
- 员工信息:管理团队成员详细信息和休假时间表
- 资源分配:计划和可视化哪些员工在哪些项目上工作
- 利益相关者管理:跟踪利益相关者及其互动
- 状态报告:生成全面的状态报告
- 记笔记:在智能辅助下捕获和组织笔记
- 日计划:计划和跟踪日常资源分配
接口
Project Tracker提供了三种与数据交互的方式:
- 本机GUI:基于Tauri的图形界面(React前端),用于交互式使用
- 命令行界面:用于自动化和脚本编写的全功能命令行界面
- MCP服务器:通过模型上下文协议集成AI助手,与Claude Desktop配合使用
所有接口共享相同的SQLite数据库,确保完美的数据同步。
数据存储
所有数据都存储在SQLite数据库中:
- 单文件数据库:
~/.project-tracker/project-tracker.db - 结构化数据:项目、人员、里程碑、笔记和利益相关者
- Markdown渲染:Notes支持UI中的markdown格式
- 架构版本控制:数据库迁移以实现向后兼容性
这种方法确保您的数据:
- 易于备份:要复制或同步的单个文件
- 可靠的:ACID事务用于数据完整性
- 快速:高效的查询和索引
- 便携的:适用于所有平台
需求
对于用户
- macOS或Linux操作系统
- 无其他依赖项(自包含的可执行文件)
面向开发者
- 锈蚀1.70+(含货物)
- Node.js 18+和npm(用于前端开发)
- Git
平台特定先决条件
Linux(Ubuntu/Debian):
sudo apt install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-devLinux(Fedora/RHEL):
sudo dnf install gtk3-devel webkit2gtk4.0-devel libappindicator-gtk3-devel librsvg2-develLinux(Arch):
sudo pacman -S gtk3 webkit2gtk libappindicator-gtk3 librsvgmacOS:
- Xcode命令行工具:
xcode-select --install
安装
从发布(即将推出)
从发布页面下载适用于您平台的可执行文件并运行它。
来源
重要提示: 在从源代码构建之前,请确保安装上面“要求”部分中列出的特定于平台的先决条件。
仅限CLI
# Clone the repository
git clone
cd project-tracker
# Build the CLI
cargo build --release
# Run the CLI
./target/release/track --helpGUI应用程序
# Clone the repository
git clone
cd project-tracker
# Install platform prerequisites first (see Requirements section)
# For Ubuntu/Debian:
# sudo apt install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev
# Build the Rust library
cargo build --release
# Install frontend dependencies
npm run install:ui
# Development mode (with hot reload)
npm run dev
# Or build for production
npm run build
# The built application will be in: src-tauri/target/release/bundle/配置
首次运行时,Project Tracker将在以下位置创建一个配置文件 ~/.project-tracker/config.toml。您可以自定义Jira集成、电子邮件域和项目类型等设置。
配置文件位置
违约: ~/.project-tracker/config.toml
您可以使用以下命令覆盖配置文件位置 --config 或 -c 标志:
track --config /path/to/config.toml projects list配置选项
# Data Storage Directory
data_dir = "~/.project-tracker"
# Jira Configuration
jira_url = "https://jira.company.com/browse/"
# Default email domain
default_email_domain = "company.com"
# Available project types
project_types = ["Personal", "Team", "Company"]
# Logging Configuration
[logging]
level = "info" # Options: trace, debug, info, warn, error有关所有配置选项的详细信息,请参阅 docs/config.md.
数据存储
所有数据都存储在 ~/.project-tracker/ 默认情况下(可通过配置 data_dir 在配置中)。应用程序将自动创建:
project-tracker.db-包含所有应用程序数据的SQLite数据库
- 项目及其元数据 - 人员(员工、利益相关者)和团队信息 - 具有截止日期和跟踪的里程碑 - 支持markdown的笔记 - 项目利益相关者关系 - 资源分配(项目和里程碑分配)
数据库使用模式版本控制和自动迁移来确保应用程序更新中的数据完整性。
有关数据库模式和存储体系结构的详细信息,请参阅 docs/storage.md.
用法
GUI模式
# Launch the GUI in development mode (with hot reload)
npm run dev
# Or run the built application
./src-tauri/target/release/project-tracker命令行接口命令模式
# View help
track --help
# List projects
track projects list
# Add a new project
track projects add "New Feature Development"
# Generate status report
track report --format markdown
# Use custom config file
track --config /path/to/config.toml projects listMCP服务器模式
Project Tracker包括一个模型上下文协议(MCP)服务器,该服务器将所有功能暴露给Claude Desktop等AI助手。
构建MCP服务器
# Build the MCP server binary
cargo build --release --bin track-mcp
# The binary will be at: target/release/track-mcp配置Claude桌面
将以下内容添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"project-tracker": {
"command": "/path/to/project-tracker/target/release/track-mcp",
"args": []
}
}
}替换 /path/to/project-tracker 带有项目目录的实际路径。
可用工具
MCP服务器为AI助手提供以下工具:
项目:
list_projects-列出所有项目get_project-通过UUID获取项目create_project-创建一个新项目(包括名称、描述、project_type、jira_advinitiative)
人:
list_people-列出所有人search_people-按姓名搜索人员get_person-通过电子邮件联系某人create_person-创建一个新的人(包括电子邮件、姓名、团队)
里程碑:
list_milestones-列出项目的里程碑
项目资源:
add_project_resource-向项目添加资源(person_email,可选角色)list_project_resources-列出分配给项目的所有资源remove_project_resource-从项目中删除资源
里程碑资源:
add_milestone_resource-向里程碑添加资源(person_email,可选角色)list_milestone_resources-列出分配给里程碑的所有资源remove_milestone_resource-从里程碑中删除资源
用法示例
配置后,您可以要求Claude Desktop与您的项目跟踪器数据进行交互:
- “显示我的所有项目”
- “创建一个名为‘Q2基础设施升级’的新项目”
- “我团队里的人都是谁?”
- “列出项目XYZ的里程碑”
- “添加alice@example.com作为XYZ项目的开发人员”
- “显示此项目的所有资源”
- “分配bob@example.com以“技术负责人”的角色成为ABC的里程碑”
MCP服务器使用与CLI和GUI相同的数据库,因此所有数据都在所有接口上同步。
发展
项目结构
project-tracker/
├── src/ # Rust source (shared library + CLI)
│ ├── main.rs # CLI entry point
│ ├── mcp_server.rs # MCP server entry point
│ ├── lib.rs # Shared library root
│ ├── cli/ # CLI command handlers
│ ├── core/ # Core business logic
│ ├── db/ # Database models and repositories
│ ├── storage/ # File I/O and data persistence
│ └── utils/ # Utility functions
├── src-tauri/ # Tauri backend
│ ├── src/main.rs # Tauri app entry
│ ├── Cargo.toml # Tauri dependencies
│ └── tauri.conf.json # Tauri configuration
├── ui/ # React frontend
│ ├── src/ # React components
│ ├── package.json # Frontend dependencies
│ └── vite.config.ts # Vite configuration
├── tests/ # Rust tests
├── docs/ # Detailed documentation
└── Cargo.toml # Rust workspace configuration建筑
CLI二进制文件
# Development build
cargo build
# Release build (optimized)
cargo build --release
# The binary will be at: target/release/trackMCP服务器二进制文件
# Development build
cargo build --bin track-mcp
# Release build (optimized)
cargo build --release --bin track-mcp
# The binary will be at: target/release/track-mcpGUI应用程序
# Build the Rust library first
cargo build --release
# Install frontend dependencies (from project root)
npm run install:ui
# Development mode (hot reload)
npm run dev
# Production build
npm run build
# Installers will be in: src-tauri/target/release/bundle/测试
所有功能都经过彻底测试,代码覆盖率要求>90%。
锈蚀试验
# Run all tests
cargo test
# Run tests with output
cargo test -- --nocapture
# Generate coverage report (requires cargo-tarpaulin)
cargo install cargo-tarpaulin
cargo tarpaulin --out Html前端测试
cd ui
npm test
npm run test:coverage贡献
看 CLAUDE.md 详细的开发指南和架构决策。
文档:
- docs/config.md -配置文件格式和选项
- docs/storage.md -数据存储格式和结构
添加新配置选项时,请务必更新 docs/config.md.
故障排除
“货物:'tauri'不是货物指令”或“不是tauri项目”错误
如果您看到以下错误:
error: no such command: 'tauri'跑步时cargo tauri buildError: Not a Tauri project当从运行tauri命令时ui/目录
解决方案: 使用项目根目录下的npm脚本(推荐):
# From the project root directory
npm run install:ui # Install dependencies (includes @tauri-apps/cli)
npm run dev # Development mode
npm run build # Production build根 package.json 代表们 ui/ 安装Tauri CLI的目录。这确保了:
- Tauri CLI可以找到
src-tauri/目录 - 每个人都使用相同的版本(由控制
ui/package.json) - 命令在所有平台上一致工作
备选方案: 如果您更喜欢使用 cargo tauri 直接全局安装CLI:
cargo install tauri-cli --version "^2.0.0"
cd src-tauri
cargo tauri dev但是,建议使用根npm脚本。
构建失败,出现“找不到系统库”错误
如果您看到以下错误 The system library 'gdk-3.0' required by crate 'gdk-sys' was not found,您需要安装特定于平台的先决条件。请参阅 平台特定先决条件 要求部分。
Linux:
# Ubuntu/Debian
sudo apt install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev
# Fedora/RHEL
sudo dnf install gtk3-devel webkit2gtk4.0-devel libappindicator-gtk3-devel librsvg2-devel
# Arch
sudo pacman -S gtk3 webkit2gtk libappindicator-gtk3 librsvgmacOS:
xcode-select --install构建过程中出现图标相关错误
如果您看到有关丢失或无效图标的错误,请确保 src-tauri/icons/ 目录包含有效的RGBA PNG图像。您可以使用ImageMagick重新生成它们:
cd src-tauri
for size in 32x32 128x128 256x256 512x512; do
convert -size ${size%x*}x${size#*x} xc:none -background '#448AFF' -alpha set -channel RGBA -evaluate set 100% PNG32:icons/${size}.tmp.png
done
mv icons/32x32.tmp.png icons/32x32.png
mv icons/128x128.tmp.png icons/128x128.png
mv icons/256x256.tmp.png icons/128x128@2x.png
mv icons/512x512.tmp.png icons/icon.png许可证
麻省理工学院许可证-版权所有2025 Andrew C.Young
看 许可证 获取完整的许可证文本。
支持
对于问题和功能请求,请使用项目的问题跟踪器。
