53 lines
2.7 KiB
Markdown
53 lines
2.7 KiB
Markdown
# scaffold
|
|
|
|
## Intro
|
|
|
|
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.
|
|
|
|
## What scaffold does
|
|
|
|
- A new project directory is created
|
|
- Your project skeleton/template is copied from your config/projectType/sample directory
|
|
- your setup/initialization commmands are run
|
|
- a git repository is initialized in the project directory
|
|
- and if you enable it, a remote repository is created and setup
|
|
|
|
## Installation
|
|
|
|
1 - Grab a version for your system from the releases page.
|
|
2 - Put it in a directory that is on your path.
|
|
3 - now configure your preferred setups/layouts/skeletons/templates for your projects.
|
|
|
|
## Configuration
|
|
|
|
On linux the configuration directory will be at /home/user/.config/devel/scaffold
|
|
|
|
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.
|
|
|
|
In a PowerShell, use `Get Child-Item Env:` to display all the environment variables.
|
|
Then `[Environment]::SetEnvironmentVariable("APPDATA","C:\Users\You\Wherever-you-like\","User")` to set the new value.
|
|
|
|
## The `scaffold` command
|
|
|
|
| Command | Description |
|
|
| ------- | ----------- |
|
|
| scaffold | The program name |
|
|
| flags:
|
|
-i or -Info | Display the available project types and the build and version information about the program. |
|
|
| **Examples:** | |
|
|
| scaffold *ProjectType* *NewProjectName* | Stuff |
|
|
|
|
## Configuration of samples
|
|
|
|

|
|
|
|
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.
|
|
|
|
## Git
|
|
|
|
Git is available to be used as the version control system for new projects. Select/Deselect within the `scaffold-<PROJECTTYPE>.toml` file.
|
|
|
|
*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.
|