aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md43
1 files changed, 8 insertions, 35 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6e5db99..4b3c939 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -37,6 +37,14 @@ cd VersionControl
+#### Related Articles
+
+- [Command Dev Guide](./src/cmds/README_en.md)
+- [Helpdoc Translation or Contribution Guide](./resources/CONTRIBUTE_HELPDOC_en.md)
+- [I18n Guide](./resources/CONTRIBUTE_LOCALES_en.md)
+
+
+
### Building and Testing
Use `scripts/dev/dev_deploy.sh` (or `.ps1`) for test builds. The build artifacts are located in the `.temp/deploy/` directory.
@@ -86,41 +94,6 @@ source ~/.../JustEnoughVCS/CommandLine/.temp/deploy/jv_cli.sh
-## Standards
-
-### Code Structure
-
-A complete command consists of the following components, organized by module:
-
-| Module | Path | Description |
-|--------|------|-------------|
-| **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. |
-| **Converter** | `src/cmds/converter/` | Converter between core library types and command-line types. |
-| **Output Data** | `src/cmds/out/` | The command's output data. |
-| **Renderer** | `src/cmds/renderer/` | The default presentation method for data. |
-| **Override Renderer** | `src/cmds/override/renderer/` | Customizable data presentation methods. |
-
-
-
-### Naming Conventions
-
-- **File Naming**: Refer to the implementation of `src/cmds/cmd/sheetdump.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{Subcmd}{Subsubcmd}Command` (e.g., `JVSheetDropCommand`).
- - Other component structs follow the same pattern:
- - `JV{XXX}Argument`
- - `JV{XXX}Input`
- - `JV{XXX}Output`
- - `JV{XXX}Collect`
- - `JV{XXX}Converter`
- - `JV{XXX}Renderer`
-
-
-
### Other Development Conventions
- **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.