aboutsummaryrefslogtreecommitdiff
path: root/mingling_cli/src/proj_mgr
Commit message (Collapse)AuthorAgeFilesLines
* fix: strip verbatim prefix from canonicalized paths on Windows魏曹先生30 hours1-1/+23
| | | | | Refactor `find_project_root` to use `deverbatim` on canonicalized paths, removing the `\\?\` prefix on Windows to ensure proper path handling.
* fix(class-add): resolve project root by walking up for `.mling`魏曹先生2 days1-5/+56
|
* feat(class-add): implement class-add command魏曹先生2 days1-0/+267
| | | | | | | Add the `class-add` command to create project classes from templates registered in `.mling/classes.toml`. Supports name derivation (snake_case, PascalCase, etc.), template expansion, and shell completions.
* feat(proj_mgr): add support for conditional directory removal魏曹先生2 days2-1/+63
| | | | | | Add `[[hide-dir]]` rule to remove entire directories when their condition evaluates to true, extending the existing file-level hide functionality to directory trees.
* feat(rule_solver): support `!=` comparison and reject trailing tokens魏曹先生2 days1-2/+39
| | | | | | Add `!=` operator support in rule expressions and ensure the entire expression is consumed during parsing, invalidating any trailing garbage tokens that would previously be silently ignored.
* feat(proj_mgr): add toggle mutex validation and program crate name魏曹先生2 days2-2/+117
| | | | | | Support `[[user.toggle-mutex]]` groups in rule.toml to enforce mutually exclusive toggle options, and derive `program_crate_name` from `program_name` using snake_case conversion.
* refactor(proj_init): simplify template expansion logic魏曹先生2 days1-42/+12
| | | | | Remove `tmpl_` prefix stripping and special `.mling` handling, rendering all files as templates except metadata files.
* feat: add remote template source support via git refs魏曹先生2 days2-12/+403
| | | | | | Allow `proj-init` to accept a `<ref>@<variant>` template source that resolves and caches templates from a git repository, falling back to local directories for plain paths.
* chore: remove ZIP template packaging and use directories魏曹先生2 days1-39/+32
| | | | | | Replace the ZIP-based template archive workflow with direct directory copying. Delete the `package-mling-tmpls` tool and remove the `zip` dependency.
* feat: add project template expansion with rule-based generation魏曹先生2 days2-0/+837
Implement `mling proj-init` to generate projects from zip templates with checklist-based configuration. Extracts template archive, moves checklist for user editing, and expands `tmpl_`-prefixed files using `just_template` with boolean rule evaluation from `rule.toml` for file hides and display toggles.