diff options
| author | 魏曹先生 <1992414357@qq.com> | 2026-06-26 07:44:31 +0800 |
|---|---|---|
| committer | 魏曹先生 <1992414357@qq.com> | 2026-06-26 07:44:31 +0800 |
| commit | a73f0f692968a04fb6f99ffbf6a2538cb482815f (patch) | |
| tree | ab9afd18913ca113ff6cc577077eb682b7edc01b /mling/res | |
| parent | 30e8275059fc66ddc996513f60f536732378d6cf (diff) | |
feat(proj_mgr): add project generation with interactive checklist
Diffstat (limited to 'mling/res')
| -rw-r--r-- | mling/res/CHECKLIST.md | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/mling/res/CHECKLIST.md b/mling/res/CHECKLIST.md new file mode 100644 index 0000000..84ca48b --- /dev/null +++ b/mling/res/CHECKLIST.md @@ -0,0 +1,100 @@ +> [!NOTE] +> +> You are using `mling` to create your `mingling` project. Before proceeding, please fill in your project information. + +## Question 1: What is your project name? + +Use `snake-case` style to fill in the project name. It will serve as your `crate` name: + +```name +my-cli +``` + +## Question 2: Which Mingling version do you need? + +> [!TIP] +> +> You must select **EXACTLY ONE** option + +- [x] `ver:0.2` Based on the `Mingling@0.2.x` template + +## Question 3: What is your project layout style? + +> [!TIP] +> +> You must select **EXACTLY ONE** option + +- [x] `base:flat` Flat mode (Simple) + +``` +# The most basic mode +./main.rs +./foo.rs +./bar.rs +./globals.rs +``` + +- [ ] `base:modularity` Modular mode + +``` +├─ module1/ # Stores private concepts internally +│ ├── mod.rs # Command registration +│ ├── chains/ # Core logic +│ └── renderers/ # Result rendering +├─ module2/ +│ ├── mod.rs # Command registration +│ ├── chains/ # Core logic +│ └── renderers/ # Result rendering +├─ global/ # Stores public concepts in the global directory +│ ├── errors/ # Global Errors +│ ├── setups/ # Setups +│ └── resources/ # Global Resources +└─ main.rs +``` + +- [ ] `base:command` Command mode + +``` +# Stores all commands +├─ commands/ # Organizes subcommands by hierarchy +│ ├── remote/add.rs # "remote add" +│ ├── remote/rm.rs # "remote rm" +│ ├── remote.rs # Not a command, +│ │ but a local implementation for +│ │ the remote series of commands +│ ├── foo.rs # "foo" +│ └── bar.rs # "bar" +├─ errors/ # Global Errors +├─ resources/ # Global Resources +├─ setups/ # Setups +└─ main.rs +``` + +## Question 4: What additional features do you need to enable? + +> [!TIP] +> +> All of the following options are **OPTIONAL** + +**Features:** + +- [ ] `feat:structural_renderer` Structural renderer (JSON/YAML) for feature output +- [ ] `feat:comp` Dynamic completion system +- [ ] `feat:clap` Clap support +- [ ] `feat:parser` Mingling Picker parser support +- [ ] `feat:async` Async support +- [ ] `feat:dispatch_tree` Compile-time dispatch tree (solidify all commands) +- [ ] `feat:extra_macros` Extra macro support + +**Implementations:** + +- [ ] `impl:exit_code` Introduce exit code control +- [ ] `impl:fallback` Fallback functionality when no command is given + +--- + +After filling in the above, execute the following command to create the project: + +``` +~# mling gen +``` |
