Files
photography/CLAUDE.md
xujiang 9e381c783d
All checks were successful
Deploy Frontend / deploy (push) Successful in 2m38s
feat: 重构项目为模块化结构,拆分 CLAUDE.md 文档
## 📁 模块化重构

### 新增模块 CLAUDE.md
- `frontend/CLAUDE.md` - 前端开发指导 (Next.js, React, TypeScript)
- `docs/deployment/CLAUDE.md` - 部署配置指导 (Caddy, 服务器配置)
- `.gitea/workflows/CLAUDE.md` - CI/CD 流程指导 (Gitea Actions)

### 根目录 CLAUDE.md 优化
- 重构为项目概览和模块导航
- 提供模块选择指导
- 减少单个文件的上下文长度

### 自动化机制
- 创建 `scripts/update-claude-docs.sh` 自动更新脚本
- 集成到 pre-commit hooks 中
- 文件变更时自动更新对应模块的 CLAUDE.md

## 🎯 优化效果

### 上下文优化
- 每个模块独立的 CLAUDE.md 文件
- 大幅减少单次处理的上下文长度
- 提高 Claude 处理效率和准确性

### 开发体验
- 根据工作内容选择对应模块
- 模块化的文档更聚焦和专业
- 自动维护文档时间戳

### 项目结构
```
photography/
├── CLAUDE.md                    # 项目概览和模块导航
├── frontend/CLAUDE.md          # 前端开发指导
├── docs/deployment/CLAUDE.md   # 部署配置指导
├── .gitea/workflows/CLAUDE.md  # CI/CD 流程指导
└── scripts/update-claude-docs.sh # 自动更新脚本
```

现在 Claude 工作时只需关注单个模块的文档,大幅提升处理效率!
2025-07-09 10:54:08 +08:00

229 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Photography Portfolio Project - CLAUDE.md
此文件为 Claude Code 在此项目中工作时提供指导。本项目采用模块化结构,每个模块有独立的 CLAUDE.md 文件。
## 🎯 项目概览
这是一个现代化的摄影作品集网站项目,使用 Next.js 15 + React 19 构建,支持静态部署。
### 主要特性
- 📸 响应式照片画廊和时间轴视图
- 🌙 深色/浅色主题切换
- 📱 移动端优化
- ⚡ 静态生成,极快加载速度
- 🔒 自动 HTTPS (Let's Encrypt)
- 🚀 CI/CD 自动部署
### 技术栈
- **前端**: Next.js 15, React 19, TypeScript, Tailwind CSS
- **组件**: Radix UI + shadcn/ui
- **部署**: Caddy + 静态文件
- **CI/CD**: Gitea Actions
## 📁 项目结构
```
photography/
├── CLAUDE.md # 🔍 当前文件 - 项目总览
├── lint-staged.config.js # Pre-commit 配置
├── frontend/ # 🎨 前端模块
│ ├── CLAUDE.md # 前端开发指导
│ ├── app/, components/, lib/ # Next.js 应用
│ ├── package.json, Makefile # 构建工具
│ └── out/ # 静态导出目录
├── docs/ # 📚 文档模块
│ └── deployment/ # 🚀 部署模块
│ ├── CLAUDE.md # 部署配置指导
│ ├── Caddyfile # Web 服务器配置
│ ├── fix-caddy-permissions.sh # 权限修复脚本
│ └── caddy-setup.md # 部署文档
├── .gitea/workflows/ # ⚙️ CI/CD 模块
│ ├── CLAUDE.md # CI/CD 配置指导
│ └── deploy-frontend.yml # 自动部署工作流
├── admin/ # 📋 管理后台 (预留)
├── backend/ # 🔧 后端 API (预留)
└── ui/ # 🎨 UI 组件备份
```
## 🎯 模块化工作指南
### 根据工作内容选择模块
#### 🎨 前端开发
```bash
# 切换到前端模块
cd frontend/
# 参考 frontend/CLAUDE.md
```
**适用场景**: UI 组件开发、样式调整、前端功能实现、React/Next.js 相关工作
#### 🚀 部署配置
```bash
# 切换到部署模块
cd docs/deployment/
# 参考 docs/deployment/CLAUDE.md
```
**适用场景**: 服务器配置、Caddy 设置、权限问题、域名配置、SSL 证书
#### ⚙️ CI/CD 流程
```bash
# 切换到 CI/CD 模块
cd .gitea/workflows/
# 参考 .gitea/workflows/CLAUDE.md
```
**适用场景**: 自动部署、构建流程、环境配置、工作流优化
#### 📚 文档和架构
```bash
# 在根目录工作
# 参考当前 CLAUDE.md
```
**适用场景**: 项目架构、文档更新、模块协调、整体规划
## 🚀 快速开始
### 开发环境设置
```bash
# 1. 克隆项目
git clone <repository>
cd photography
# 2. 前端开发
cd frontend/
make setup # 初始化环境
make quick # 安装依赖 + 启动开发服务器
```
### 部署设置(首次)
```bash
# 1. 配置服务器
scp docs/deployment/Caddyfile user@server:/etc/caddy/
scp docs/deployment/fix-caddy-permissions.sh user@server:~/
ssh user@server './fix-caddy-permissions.sh && sudo systemctl reload caddy'
# 2. 推送代码自动部署
git push origin main
```
## 🔧 全局配置
### Git Hooks (Pre-commit)
项目配置了 pre-commit hooks会在提交前自动运行
- ESLint 代码检查
- TypeScript 类型检查
- Prettier 代码格式化
配置文件:`lint-staged.config.js`
### 环境要求
- **Node.js**: 18+
- **Bun**: 最新版本 (包管理器)
- **Git**: 2.0+
## 🌐 访问地址
### 生产环境
- **网站**: https://photography.iriver.top
- **部署**: 自动部署到 `/home/gitea/www/photography/`
### 开发环境
- **本地**: http://localhost:3000
- **Mock API**: http://localhost:3001
## 📋 常用命令
### 项目级命令
```bash
# 前端开发
cd frontend && make dev
# 代码检查
cd frontend && make lint
# 构建项目
cd frontend && make build
# 部署准备
cd frontend && make deploy-prep
```
### Git 工作流
```bash
# 开发流程
git checkout -b feature/new-feature
# 开发...
git add .
git commit -m "feat: 新功能描述" # pre-commit hooks 自动运行
git push origin feature/new-feature
# 部署流程
git checkout main
git merge feature/new-feature
git push origin main # 触发自动部署
```
## 🔍 问题排查
### 模块特定问题
- **前端问题**: 查看 `frontend/CLAUDE.md`
- **部署问题**: 查看 `docs/deployment/CLAUDE.md`
- **CI/CD 问题**: 查看 `.gitea/workflows/CLAUDE.md`
### 通用问题
```bash
# 检查项目状态
cd frontend && make status
# 查看构建日志
cd frontend && make build
# 重置环境
cd frontend && make clean && make install
```
## 📈 项目状态
### 已完成功能
- ✅ 前端应用 (Next.js 15)
- ✅ CI/CD 自动部署
- ✅ Web 服务器配置 (Caddy)
- ✅ 代码质量控制 (ESLint + Prettier + TypeScript)
- ✅ Pre-commit hooks
### 计划中功能
- 📋 管理后台
- 📋 后端 API
- 📋 多环境部署
- 📋 性能监控
## 🎨 模块协调原则
### 何时修改模块 CLAUDE.md
1. **前端模块** (`frontend/CLAUDE.md`): 组件、样式、前端逻辑变更时
2. **部署模块** (`docs/deployment/CLAUDE.md`): 服务器、配置、部署流程变更时
3. **CI/CD 模块** (`.gitea/workflows/CLAUDE.md`): 工作流、构建流程变更时
4. **根目录** (`CLAUDE.md`): 项目架构、模块关系变更时
### 模块间通信
- 前端构建产物 → 部署模块使用
- CI/CD 协调 → 所有模块的构建和部署
- 配置变更 → 相关模块的 CLAUDE.md 同步更新
## 🔄 最佳实践
### 开发流程
1. 确定工作模块,切换到对应目录
2. 阅读模块的 CLAUDE.md 了解具体指导
3. 完成开发和测试
4. 更新相关模块的 CLAUDE.md (如有必要)
5. 提交代码触发自动部署
### 文档维护
- 每个模块的 CLAUDE.md 保持独立和聚焦
- 模块间的依赖关系在根目录 CLAUDE.md 中说明
- 重要的全局配置统一在根目录管理
### 上下文优化
- Claude 工作时只需关注单个模块的 CLAUDE.md
- 减少上下文长度,提高处理效率
- 模块化降低复杂性,提高开发效率