# Pre-commit Review (2026-01-24)

## Changes Review

### 1. Documentation (`docs/`)
- **Renaming**: Files prefixed with numbers (`00.` to `07.`) for clearer reading order. OK.
- **Content Updates**:
    - `00.快速开始.md`: Updated to use `yakultpdf` CLI, `uv` install, and direct workspace structure. OK.
    - `01.工作区使用指南.md`: Removed `in/` directory recommendation, updated to `yakultpdf` CLI. OK.
    - `06.项目说明文档.md`: Rewritten to reflect current code structure (`src/mark2pdf/config`, `core`, etc.), correct package name (`yakultpdf`), and accurate config file name (`mark2pdf.config.toml`). OK.
    - `02.CLI使用说明.md`, `05.FAQ.md`: Updated command references to `yakultpdf`. OK.

### 2. Code (`src/mark2pdf/`)
- **Config Defaults (`config/defaults.py`)**:
    - Build default paths changed: `input = "."` (was "in"). This is a breaking change for `init` defaults but aligns with the new "simplification" goal.
    - `indir="."` in helper script template. OK.
- **Workspace Logic (`config/workspace.py`)**:
    - `init_workspace`: Removed creation of `in/` directory.
    - Updated `mark2pdf.config.toml` generation to use `input = "."`.
    - `index.md` is now copied to root instead of `in/`. OK.
- **Resources (`resources/createpdf.py`)**:
    - Updated references to use `.` as input. OK.

### 3. Build Config (`pyproject.toml`)
- Confirmed `project.name = "yakultpdf"` and `project.scripts = {"yakultpdf": ...}`.
- No changes made to this file, but documentation now correctly matches it.

## Deep Thinking & Logic Check

- **Workspace Path**: Changing default input to `.` means `mark2pdf.config.toml` and `frontmatter.yaml` are mixed with source files. This is cleaner for small projects but might be cluttered for large ones. However, users can still manually change `input = "src"` in config if they want. The default "simplification" is justified.
- **CLI Name**: `yakultpdf` is the standardized name. Documentation and `pyproject.toml` now agree.
- **Install**: `uv tool install` is the modern recommendation. Documentation reflects this.

## Conclusion
The changes are consistent and achieve the goal of documenting the current state of the project while simplifying the default workspace structure.

**Ready to commit.**
