ChainMovers / suibase

Sui development environment and cookbook.
https://suibase.io
Apache License 2.0
35 stars 6 forks source link

Consider adding a templating system to "move new" #91

Open mario4tier opened 5 months ago

mario4tier commented 5 months ago

As of right now, a "sui move new" create an empty "sources" file.

In a discord discussion, @ivmidable proposed the following:

> gotcha cool, one thing id like to see change with sui move new is for it to create a basic .move
> file named after the package. so for instance if I did sui move new start it would create a
> start.move file inside of sources
> that basically has this https://gist.github.com/ivmidable/6aac5acb1bba0cd1e0058b9bd9a47772

Suggested Implementation Add to Suibase a "template" directory where the user can control the initial .move and even add more files (e.g. a .gitignore of the build artifacts).

The Suibase scripts will detect that the user is trying to do a "move new" and will do the additional customization specified in: ~/suibase/workdirs/common/templates/move_new/default

The template .move files can specify a "$MODULE_NAME" that will be automatically replace with the new module name created.

Other potential enhancement The "move_new/default" is for when doing "move new". User can define additional template such as "move_new/hello_world" and use it with "move new --template hello_world".