diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-02-04 00:27:16 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-02-04 00:27:16 +0800 |
| commit | d19e5d84ee21502fd3440511d4ffb1ee1f49d3b2 (patch) | |
| tree | fb8efef6f8e9a26c5b60d4ac220b11d6c6f0775e /CONTRIBUTING.md | |
| parent | 7ee0d3f20c875e7405bb8442c5eb0228d1599a03 (diff) | |
Refactor build system and implement complete renderer system
- Split monolithic build.rs into modular async generators
- Add renderer override system with type-safe dispatch
- Implement command template macro for consistent command definitions
- Add proc-macro crates for command and renderer systems
- Reorganize directory structure for better separation of concerns
- Update documentation to reflect new architecture
Diffstat (limited to 'CONTRIBUTING.md')
| -rw-r--r-- | CONTRIBUTING.md | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a054644..514db9b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -97,18 +97,18 @@ A complete command consists of the following components, organized by module: | Module | Path | Description | |--------|------|-------------| -| **Command Definition** | `src/cmds/` | The main logic implementation of the command. | -| **Argument Definition** | `src/args/` | Defines command-line inputs using `clap`. | -| **Input Data** | `src/inputs/` | User input data during command execution. | -| **Collected Data** | `src/collects/` | Data collected locally during command execution. | -| **Output Data** | `src/outputs/` | The command's output data. | -| **Renderer** | `src/renderers/` | The default presentation method for data. | +| **Command Definition** | `src/cmds/cmd/` | The main logic implementation of the command. | +| **Argument Definition** | `src/cmds/arg/` | Defines command-line inputs using `clap`. | +| **Input Data** | `src/cmds/in/` | User input data during command execution. | +| **Collected Data** | `src/cmds/collect/` | Data collected locally during command execution. | +| **Output Data** | `src/cmds/out/` | The command's output data. | +| **Renderer** | `src/cmds/renderer/` | The default presentation method for data. | ### Naming Conventions -- **File Naming**: Follow the format of `src/cmds/status.rs`, i.e., use the command name as the filename. +- **File Naming**: Follow the format of `src/cmds/cmd/status.rs`, i.e., use the command name as the filename. - **Multi-level Subcommands**: In the `cmds` directory, use the `sub_subsub.rs` format for filenames (e.g., `sheet_drop.rs`). - **Struct Naming**: - Command Struct: `JV{Subcommand}{Subsubcommand}Command` (e.g., `JVSheetDropCommand`). @@ -122,7 +122,7 @@ A complete command consists of the following components, organized by module: ### Other Development Conventions -- **Utility Functions**: Reusable functionality should be placed in the `src/utils/` directory (e.g., `src/utils/feat.rs`). Test code should be written directly within the corresponding feature file. +- **Utility Functions**: Reusable functionality should be placed in the `utils/` directory (e.g., `utils/feat.rs`). Test code should be written directly within the corresponding feature file. - **Special Files**: `.rs` files starting with an underscore `_` are excluded by the `.gitignore` rule and will not be tracked by Git. - **File Movement**: If you need to move a file, be sure to use the `git mv` command or ensure the file is already tracked by Git. The commit message should explain the reason for the move. - **Frontend/Backend Responsibilities**: The frontend (command-line interface) should remain lightweight, primarily responsible for data collection and presentation. Any operation that needs to modify workspace data must call the interfaces provided by the core library. |
