fracknavy

PlanManage Skill 文档

*版本: v0.1.1 | 更新: 2024-06-12*

fracknavy 0 Updated 1mo ago

Resources

14
GitHub

Install

npx skillscat add fracknavy/planmanage

Install via the SkillsCat registry.

SKILL.md

PlanManage Skill 文档

📌 项目定位

智能计划与时间表管理 Web 应用,核心功能:

  • 任务管理(CRUD、子任务、重复任务)
  • 智能排程(权重、优先级、截止时间)
  • 时间表(拖拽排序、冲突检测)
  • 链接解析(自动提取网页信息)

🎯 当前状态

已完成

  • ✅ 基础架构(Next.js + Prisma + shadcn/ui)
  • ✅ 认证系统(登录、注册、路由保护)
  • ✅ 任务 CRUD
  • ✅ 时间表基础功能
  • ✅ 链接解析
  • ✅ 自动排程算法
  • ✅ 拖拽排序

未完成

  • ❌ 子任务功能
  • ❌ 重复任务
  • ❌ 休息时间管理(跳过、倒计时)
  • ❌ 冲突检测 UI
  • ❌ Dashboard 统计图表
  • ❌ 数据导出
  • ❌ 暗色模式
  • ❌ 通知系统

⚠️ 开发限制

类别 限制
Node.js >= 18.0.0
PostgreSQL >= 14.0
任务层级 仅一级子任务
重复任务 简单 RRULE(每日、每周、每月)
排程范围 仅当天
链接解析 仅公开网页
并发用户 < 100

🚀 快速命令

# 安装
npm install

# 数据库
npx prisma generate && npx prisma db push

# 开发
npm run dev

# 构建
npm run build

# 类型检查
npx tsc --noEmit

📁 关键路径

功能 路径
排程算法 src/lib/scheduler.ts
认证 src/app/api/auth/[...nextauth]/route.ts
任务 API src/app/api/tasks/
时间表 API src/app/api/schedule/
链接解析 src/app/api/links/parse/route.ts
UI 组件 src/components/ui/

🎨 技术栈

用途 技术
框架 Next.js 14 (App Router)
语言 TypeScript
样式 Tailwind CSS + shadcn/ui
拖拽 dnd-kit
数据库 PostgreSQL + Prisma
认证 NextAuth.js
验证 Zod

📋 开发优先级

P0 - 核心功能

  1. 子任务功能
  2. 重复任务
  3. 休息时间管理

P1 - 用户体验

  1. 权重可视化
  2. 统计图表
  3. 冲突检测 UI

P2 - 功能扩展

  1. 数据导出
  2. 暗色模式
  3. 通知系统

P3 - 高级功能

  1. 协作功能
  2. 国际化
  3. PWA

🔧 代码规范

  • 组件: PascalCase (TaskCard)
  • 函数: camelCase (fetchTasks)
  • 文件: kebab-case (use-tasks.ts)
  • 常量: UPPER_SNAKE_CASE (MAX_TASKS)

📖 详细文档


🔨 修复记录

2024-06-12

修复 1: 缺失依赖

  • 问题: Module not found: Can't resolve 'next-auth/react'
  • 原因: package.json 缺少 next-authbcrypt 依赖
  • 解决: 添加依赖并安装
    npm install next-auth bcrypt @types/bcrypt --save

修复 2: TypeScript 类型错误

  • 问题: session.user.id 类型不存在
  • 原因: NextAuth 默认 session 类型不包含 id 字段
  • 解决: 创建 src/types/next-auth.d.ts 扩展类型

修复 3: Next.js 路由导出限制

  • 问题: authOptions 导出导致类型错误
  • 原因: Next.js 路由文件只能导出 HTTP 方法
  • 解决: 将 authOptions 移至 src/lib/auth-options.ts

修复 4: 缺失导入

  • 问题: RefreshCwListTodo 未导入
  • 原因: 组件使用但未导入
  • 解决: 添加缺失的导入语句

版本: v0.1.1 | 更新: 2024-06-12