I like the setup of the project with a basic workspace, but we can maybe make this more modular and powerful by offering a template repository with a blank ROS workspace that we can download and put there instead. That way, adding more robust templates, or more templates in general, would be as simple as creating another repo with a different template and adding it to a list of links.
One issue could be if we want to be injecting certain information to key files in a given template, or having varying setups based on version, etc. I think this is solvable by having the templates ship with placeholders for parts that are to be filled in by the program, which can then go in and replace all instances of those placeholders with the correct values. Most likely, a solution that complex won't be necessary and we'd just be able to create/append the rosproject.toml and have the rest from templates.
https://github.com/jingxiangmo/create-ros-project/blob/aa6baafa5761e90f0d2f98166bc2c040f77995d4/src/utils.py#L91
I like the setup of the project with a basic workspace, but we can maybe make this more modular and powerful by offering a template repository with a blank ROS workspace that we can download and put there instead. That way, adding more robust templates, or more templates in general, would be as simple as creating another repo with a different template and adding it to a list of links.
One issue could be if we want to be injecting certain information to key files in a given template, or having varying setups based on version, etc. I think this is solvable by having the templates ship with placeholders for parts that are to be filled in by the program, which can then go in and replace all instances of those placeholders with the correct values. Most likely, a solution that complex won't be necessary and we'd just be able to create/append the
rosproject.toml
and have the rest from templates.