summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-02-04 00:27:16 +0800
committer魏曹先生 <1992414357@qq.com>2026-02-04 00:27:16 +0800
commitd19e5d84ee21502fd3440511d4ffb1ee1f49d3b2 (patch)
treefb8efef6f8e9a26c5b60d4ac220b11d6c6f0775e /CONTRIBUTING.md
parent7ee0d3f20c875e7405bb8442c5eb0228d1599a03 (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.md16
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.