portray or describe (something) precisely.
Small CLI for opinionated developer workflow
Explore the docs »
Report Bug
·
Request Feature
- About The Project
- Built With
- Getting Started
- Configuration
- CLI Usage
- Roadmap
- Contributing
- License
- Acknowledgements
An opinionated CLI that enable repeatable sets of commands and common tasks be automated locally while developing software.
Further logos can be inserted to highlight the specific technologies used to create the solution from here.
Syntax | Description |
---|---|
Pre-commit git hooks that perform checks before pushes |
|
Source control management platform | |
Containerise applications and provide local environment |
A series of Go packages have been used to build up neat
:
Syntax | Description |
---|---|
cobra | Provides the CLI framework for neat |
survey | Provides ability to capture input |
color | Enables console coloured output |
go-git | Fully functioning package for git |
viper | Configuration package for managing config |
zerolog | Simple high performance logging framework |
lumberjack | Rolling log file management compatible with zerolog |
orderedmap | Provides missing data structure for ordered maps |
This repo follows the principle of minimal manual setup of the local development environment, and utilises devcontainer in vscode.
In addition a taskfile provides commonly required commands, these can be listed using task --list
.
The global config file is expected to be located at ~/.config/.neat.yaml
automation: false
log:
level: debug # info | warn | error
sinks: # file | console
- file
file:
dir: .logs/.neat
filename: neat.log
size_mb: 1
backups: 3
age_days: 10
For each git
repo where you want to use neat
the following file should be present.
git:
branches:
default: main
prune: auto # none | select | auto
# displays help for neat
neat -h
# inits the global config
neat init
# inits a repo
neat init repo
# creates a new branch in the existing repo
neat new feature -n 'new-client-design'
# creates a new branch in a different repo
neat new feature -n 'another-feature' -p /tmp/go-neat-test
# refreshes the sub directories
neat refresh repos
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
If you would like to contribute to any delineate.io OSS projects please read:
Distributed under the MIT License. See LICENSE
for more information.