# Codwhat **Repository Path**: fexcode/codwhat ## Basic Information - **Project Name**: Codwhat - **Description**: 展示你项目的规模, Git历史也会统计哦~ 让别人看见每一行你写过的代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-30 - **Last Updated**: 2026-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CodWhat 统计用户项目编码成就的Web应用。 ## 功能特性 - **Git 总提交数**:统计项目历史中的总提交次数 - **项目文件数**:统计当前项目中的文件总数(遵循 .gitignore 规则) - **项目代码总行数**:统计当前项目中代码文件的总行数 - **Git 历史文件数**:统计 Git 历史提交中所有文件的个数 - **Git 历史代码行数**:统计 Git 历史提交中所有代码文件的总行数 ## 安装 ### 前置要求 - Python 3.12+ - Git - [uv](https://github.com/astral-sh/uv)(推荐的包管理器) ### 安装步骤 1. 克隆项目: ```bash git clone cd codwhat ``` 2. 使用 uv 安装依赖: ```bash uv sync ``` 3. 以开发模式安装: ```bash uv pip install -e . ``` ## 使用方法 ### 启动 Web 服务器 在项目目录下运行: ```bash codwhat ``` 或者使用 uv 运行: ```bash uv run codwhat ``` 服务器将在 http://127.0.0.1:5000 启动。 ### 命令行选项 ```bash codwhat [选项] 选项: --host HOST 服务器主机地址(默认:127.0.0.1) --port, -p PORT 服务器端口(默认:5000) --debug, -d 启用调试模式 ``` ### 示例 ```bash # 使用默认设置启动 codwhat # 指定端口 codwhat --port 8080 # 指定主机和端口 codwhat --host 0.0.0.0 --port 8080 # 启用调试模式 codwhat --debug ``` ## API 接口 ### 获取统计数据 - **URL**: `/api/stats` - **方法**: `GET` - **响应**: JSON 格式的统计数据 ```json { "git_commit_count": 10, "project_file_count": 25, "project_code_lines": 1500, "git_all_files_count": 50, "git_all_code_lines": 5000 } ``` ## 项目结构 ``` codwhat/ ├── codwhat/ │ ├── __init__.py # 包初始化 │ ├── cli.py # 命令行入口 │ ├── stats.py # 统计功能模块 │ └── web.py # Web 服务器模块 ├── tests/ │ ├── __init__.py │ └── test_stats.py # 统计模块测试 ├── .gitignore # Git 忽略规则 ├── .python-version # Python 版本 ├── pyproject.toml # 项目配置 ├── README.md # 项目说明 └── uv.lock # 依赖锁定文件 ``` ## 开发 ### 运行测试 ```bash uv run pytest tests/ -v ``` ### 添加依赖 ```bash uv add ``` ### 添加开发依赖 ```bash uv add --dev ``` ## .gitignore 规则 项目维护了一个全面的 `.gitignore` 文件,包含以下类别的忽略规则: - Python 生成的文件(__pycache__、*.pyc 等) - 虚拟环境(.venv、venv、env 等) - IDE 配置(.idea、.vscode 等) - 操作系统生成的文件(.DS_Store、Thumbs.db 等) - Node.js 相关(node_modules 等) - Java 相关(*.class、*.jar 等) - C++ 相关(*.o、*.so、*.dll 等) - Go 相关(vendor 等) - Rust 相关(target 等) 统计功能会自动忽略这些规则中指定的文件和目录。 ## 许可证 MIT License