From f646fedb3d8280fb0ea928494f64dc6eb921e94a Mon Sep 17 00:00:00 2001 From: 魏曹先生 <1992414357@qq.com> Date: Mon, 29 Jun 2026 04:55:16 +0800 Subject: feat: add template_0.2 scaffolding and update CHECKLIST Add empty template directories for command, flat, and modularity layouts under template_0.2. Revise CHECKLIST to include project description prompt and pre-initialization step, reorder feature checklist, and fix a trailing whitespace. --- mling/res/CHECKLIST.md | 18 ++++++++++++++---- mling/res/template_0.2/command/Cargo.toml | 0 mling/res/template_0.2/command/src/main.rs | 1 + mling/res/template_0.2/flat/Cargo.toml | 0 mling/res/template_0.2/flat/src/main.rs | 0 mling/res/template_0.2/modularity/Cargo.toml | 0 mling/res/template_0.2/modularity/src/main.rs | 0 7 files changed, 15 insertions(+), 4 deletions(-) create mode 100644 mling/res/template_0.2/command/Cargo.toml create mode 100644 mling/res/template_0.2/command/src/main.rs create mode 100644 mling/res/template_0.2/flat/Cargo.toml create mode 100644 mling/res/template_0.2/flat/src/main.rs create mode 100644 mling/res/template_0.2/modularity/Cargo.toml create mode 100644 mling/res/template_0.2/modularity/src/main.rs diff --git a/mling/res/CHECKLIST.md b/mling/res/CHECKLIST.md index 84ca48b..bc7b8bc 100644 --- a/mling/res/CHECKLIST.md +++ b/mling/res/CHECKLIST.md @@ -2,7 +2,7 @@ > > You are using `mling` to create your `mingling` project. Before proceeding, please fill in your project information. -## Question 1: What is your project name? +## Question 1: Fill in your project information Use `snake-case` style to fill in the project name. It will serve as your `crate` name: @@ -10,6 +10,12 @@ Use `snake-case` style to fill in the project name. It will serve as your `crate my-cli ``` +Describe your `program` in one sentence: + +```description +This is a command-line program +``` + ## Question 2: Which Mingling version do you need? > [!TIP] @@ -59,7 +65,7 @@ my-cli ├─ commands/ # Organizes subcommands by hierarchy │ ├── remote/add.rs # "remote add" │ ├── remote/rm.rs # "remote rm" -│ ├── remote.rs # Not a command, +│ ├── remote.rs # Not a command, │ │ but a local implementation for │ │ the remote series of commands │ ├── foo.rs # "foo" @@ -76,15 +82,19 @@ my-cli > > All of the following options are **OPTIONAL** +**Pre:** + +- [x] `exec:git_init` Initialize this project as a git repository (requires `git` to be installed) + **Features:** +- [x] `feat:extra_macros` Extra macro support +- [x] `feat:dispatch_tree` Compile-time dispatch tree (solidify all commands) - [ ] `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:** diff --git a/mling/res/template_0.2/command/Cargo.toml b/mling/res/template_0.2/command/Cargo.toml new file mode 100644 index 0000000..e69de29 diff --git a/mling/res/template_0.2/command/src/main.rs b/mling/res/template_0.2/command/src/main.rs new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/mling/res/template_0.2/command/src/main.rs @@ -0,0 +1 @@ + diff --git a/mling/res/template_0.2/flat/Cargo.toml b/mling/res/template_0.2/flat/Cargo.toml new file mode 100644 index 0000000..e69de29 diff --git a/mling/res/template_0.2/flat/src/main.rs b/mling/res/template_0.2/flat/src/main.rs new file mode 100644 index 0000000..e69de29 diff --git a/mling/res/template_0.2/modularity/Cargo.toml b/mling/res/template_0.2/modularity/Cargo.toml new file mode 100644 index 0000000..e69de29 diff --git a/mling/res/template_0.2/modularity/src/main.rs b/mling/res/template_0.2/modularity/src/main.rs new file mode 100644 index 0000000..e69de29 -- cgit