diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2026-04-20 14:47:58 +0200 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2026-04-20 14:47:58 +0200 |
| commit | 96e11c169cde65194c1136e6b40c1bbea35c813a (patch) | |
| tree | 29abfee5f3e8f37a53ae4f674b926f497827d963 /src/create.lua | |
| parent | 0686b40f979f4607b3fd8cca21c463e98f617666 (diff) | |
create cli
Diffstat (limited to 'src/create.lua')
| -rw-r--r-- | src/create.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/create.lua b/src/create.lua new file mode 100644 index 0000000..19ba7e8 --- /dev/null +++ b/src/create.lua @@ -0,0 +1,23 @@ +return function() + local args = require('arg') { + strict = false, + { name = "target" }, + { + name = "template", + description = "template name or path to build.lua", + kind = "property", + required = true, + }, + } + + local path = manager.get(args.template) or Path:new(args.template) + + if not path:exists() then + error('template does not exist.') + end + + local builder = Builder:from_template(path) + + local instance = builder:build(args) + instance:save_to(args.target) +end |