Skip to content

essentialkaos/scratch

GitHub Actions CI Status Codebeat badge GitHub Actions CodeQL Status

InstallationCommand-line completionUsageContributingLicense


scratch is a simple utility for generating blank files for Go apps, utilities and packages.

Installation

Important

Before the first run you have to create a directory for your tempaltes. By default, all templates must be stored in the ~/.config/scratch directory.

From sources

To install the scratch from sources, make sure you have a working Go 1.19+ workspace (instructions), then:

go install github.com/essentialkaos/scratch@latest

Prebuilt binaries

You can download prebuilt binaries for Linux from EK Apps Repository:

bash <(curl -fsSL https://apps.kaos.st/get) scratch

Command-line completion

You can generate completion for bash, zsh or fish shell.

Bash:

sudo scratch --completion=bash 1> /etc/bash_completion.d/scratch

ZSH:

sudo scratch --completion=zsh 1> /usr/share/zsh/site-functions/scratch

Fish:

sudo scratch --completion=fish 1> /usr/share/fish/vendor_completions.d/scratch.fish

Man documentation

You can generate man page for scratch using next command:

scratch --generate-man | sudo gzip > /usr/share/man/man1/scratch.1.gz

Usage

Usage: scratch {options} template target-dir

Options

  --no-color, -nc    Disable colors in output
  --help, -h         Show this help message
  --version, -v      Show version

Examples

  scratch package
  List files in template "package"

  scratch package .
  Generate files based on template "package" in current directory

  scratch service $GOPATH/src/github.com/essentialkaos/myapp
  Generate files based on template "service" in given directory

Contributing

Before contributing to this project please read our Contributing Guidelines.

License

Apache License, Version 2.0