scaffold/README.md

75 lines
2.3 KiB
Markdown
Raw Normal View History

2020-02-20 08:34:03 +01:00
# Scaffold
2020-05-23 12:14:58 +02:00
## Description
`scaffold` est un outil permettant de générer une arborescence de fichiers à partir d'un modèle pré-existant.
Ce modèle peut être soit un répertoire local soit un dépôt Git distant.
De plus, `scaffold` intègre un mécanisme de templating permettant d'injecter des données dynamiques dans les fichiers à copier. Par défaut, tout fichier dont l'extension est `.gotpl` sera soumis à ce templating.
Un fichier "manifeste" (par défaut `scaffold.yml`) peut être créé afin de déclarer les variables à injecter. Ces variables seront demandées à l'utilisateur lors du lancement de la commande `scaffold from`.
2020-02-20 08:34:03 +01:00
## Installation
### À partir des sources
```
go install forge.cadoles.com/wpetit/scaffold/cmd/scaffold
```
2021-07-09 13:41:23 +02:00
### Manuellement, à partir des binaires
2020-02-20 08:34:03 +01:00
2020-05-23 12:03:17 +02:00
1. [Télécharger la dernière version du binaire correspondant à votre plateforme](https://forge.cadoles.com/wpetit/scaffold/releases) (dernière version stable: 0.0.2)
2020-04-07 15:36:42 +02:00
2. Extraire l'archive et place le binaire `bin/scaffold` dans votre `$PATH` (par exemple dans le répertoire `/usr/local/bin`)
2020-02-20 08:34:03 +01:00
2021-07-09 13:41:23 +02:00
### Automatiquement, via le script d'installation
```shell
curl -s https://forge.cadoles.com/wpetit/scaffold/raw/branch/master/misc/script/install | bash
```
L'utilitaire [`jq`](https://stedolan.github.io/jq/) doit être installé sur votre système.
2020-04-07 08:47:03 +02:00
## Usage
```
NAME:
scaffold - generate/update directory tree from template
USAGE:
scaffold [global options] command [command options] [arguments...]
COMMANDS:
from, n generate a new project from a given template url
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--help, -h show help (default: false)
```
2020-05-23 12:03:17 +02:00
### Commandes
#### `from`
2020-04-07 08:47:03 +02:00
```
2020-05-23 12:03:17 +02:00
NAME:
scaffold from - generate a new project from a given template url
USAGE:
scaffold from [command options] <URL>
2020-04-07 08:47:03 +02:00
OPTIONS:
--directory DIR, -d DIR Set destination to DIR (default: "./")
--manifest FILE, -m FILE The scaffold manifest FILE (default: "scaffold.yml")
2020-05-23 12:03:17 +02:00
--ignore value, -i value Ignore files matching pattern (default: ".git", ".git/**", "./.git/**/*")
2020-04-07 08:47:03 +02:00
--help, -h show help (default: false)
```
## Documentation
2020-05-23 12:27:11 +02:00
- [Créer un modèle de projet](./doc/create_project_template.md)
- [Format du fichier `scaffold.yml`](./doc/scaffold_file_format.md)
2020-02-20 08:34:03 +01:00
## Licence
2020-04-07 08:59:50 +02:00
[GPL-3.0](./LICENSE)