Cli
short description: Propulates an empty Git repository with the most common files and folders as a starting point.
detailed description: |
Propulates an empty Git repository with the most common files and folders as a starting point.
Initializes repositories for the following programming languages: C++, Go, and Java.
Supports these types of projects: embedded (and systems development), library, service, and tool (CLI).
Also generates CI/CD files for GitHub or GitLab.
These are the supported combinations:
| Language | CLI Tool | Embedded | Library | Service |
| -------- | -------- | -------- | ------- | ------- |
| C++ | X | X | X | X |
| Go | X | | X | X |
| Java | | | X | X |
Search for TODO markers once your repository has been populated.
commands:
- name: init
description: Initializes an empty Git repository with the most common files and folders as a starting point.
options:
- long: artifactname
short: a
type: string
default: null
description: Optional technical artifact name, i.e. name of the executable or archive. Derived from local Git repository if option is absent.
- long: ci
short: c
type: enum(github, gitlab)
default: gitlab
description: Optionally determine your target CI/CD tool. Either github or gitlab. Researched from local Git repository if option is absent.
- long: description
short: d
type: string
default: null
description: Brief description of the project.
- long: language
short: l
type: enum(cpp, go, java)
default: go
description: Determine your target language. One of cpp, go, or java.
- long: modulepath
short: m
type: string
default: null
description: Optional Go module path, e.g. gitlab.com/user/project. Derived from local Git repository if option is absent.
- long: name
short: n
type: string
default: null
description: Human readable name of the project.
- long: projecttype
short: p
type: enum(tool, library, service)
default: service
description: Determine your target project type. One of embedded, library, service, or tool (CLI).
- long: targetpath
short: t
type: string
default: null
description: Target path referencing the (empty) repository folder to be initialized.
- name: update
description: Updates an already initialized Git repository.
Does not change the nature of the project, nor does it change developer files.
Only updates guidelines, CI/CD files, and .claude/ folder.
options:
- long: targetpath
short: t
type: string
default: null
description: Path to the repository to update. Defaults to the current working directory.
- long: dry-run
short: null
type: boolean
default: false
description: List files that would change without writing them. Useful in CI pipelines to detect available updates.
- name: version
description: Prints the version of this tool. Includes version, build date, and git commit hash.
options: null