Use scaffold to setup a new project with a directory skeleton of your design, and if you'd like, it can also automatically initialize local, remote and gitea git repositories for the new project.
For the windows versions, you might want to look at your User_Configuration_Directories location, and change it according to your needs. On windows it's value is the %APPDATA% environment variable.
It's a little simpler at a command prompt -- type the command `set` and hit `Enter`. See what `APPDATA` is currently set to. Change it with `setx APPDATA "C:\Users\You\SomeWhere"`.
The examples directory contains an example-scaffold-projectType.toml configuration file. Place a copy in each projectType directory, adjusted to your preferences per the given project type.
Creating repositories on gitea via a ssh push, the standard method, has a side effect -- the project name is forced to lowercase. There are no configuration options to change this. Please see gitea and it's documentation for full explanations.
1. Adapt and only create projects using lowercase (myspecialproject) or lower_snake_case (my_special_project) or use hyphens between words (my-special-project)
2. If you insist on CamelCase project names -- a work around would be to manually create a reposity with the CamelCase name you want via gitea's web UI. And then use scaffold on your development machine with the -c flag
eg. `scaffold -c go MySpecialProject` to have scaffold clone it from gitea, build it out according to your skeleton/templates, and then push the changes.
The whole idea or point to little utilities like this is to simplify things - to get what you want. In this case, it seems, that to get what you want means one extra step --OR-- changing your personal preference for the names of things.
| scaffold *ProjectType**new-project-name* | Creates a new project and then creates new remote repositories and pushes changes |
| scaffold -c *ProjectType**GiteaRepositoryName* | clones the repo from gitea and then fills it according to your skeleton/template, and then pushes the changes.|
The image should explain alot quickly. The go, go-cli, go-web, hs, js, py and svelte directories define the project types available to scaffold. Arrange the contents of the sample directory, within each project type directory, to your preferred layout for each language/use-case.
*Please Note* that if you also use git to track your configuration files and sample directories, then a `.gitignore` file within your sample directory will interfere with git's ability to track your skeletons/templates properly. So, to allow for this, put what you normally would in a `.gitignore` file instead into a file named `GITIGNORE` in your sample directory. And scaffold will convert it to a `.gitignore` file within your newProject directory.
If you are NOT using git to track your project types and samples/skeletons/templates, then no problem, just place a .gitignore file within the sample directory as you would any other file.