https://github.com/lennetech/cli
A CLI for lenne.Tech libraries and frameworks.
https://github.com/lennetech/cli
cli git git-tools gluegun helper lenne lennetech nest-server tech
Last synced: 21 days ago
JSON representation
A CLI for lenne.Tech libraries and frameworks.
- Host: GitHub
- URL: https://github.com/lennetech/cli
- Owner: lenneTech
- License: mit
- Created: 2019-08-13T12:00:03.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-15T13:11:38.000Z (over 1 year ago)
- Last Synced: 2024-12-19T08:22:29.219Z (over 1 year ago)
- Topics: cli, git, git-tools, gluegun, helper, lenne, lennetech, nest-server, tech
- Language: TypeScript
- Homepage:
- Size: 2.14 MB
- Stars: 10
- Watchers: 2
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# lt CLI
A CLI for [lenne.Tech](https://github.com/lenneTech) libraries and frameworks.
CLI in action:

[](/LICENSE) [](https://circleci.com/gh/lenneTech/cli/tree/master)
[](https://david-dm.org/lenneTech/cli) [](https://david-dm.org/lenneTech/cli?type=dev)
## Installation
```
$ npm install -g @lenne.tech/cli
```
## Usage
```
Menu mode
$ lt
or command line mode
$ lt () ()
```
## Help / List of commands
```
$ lt help
or
$ lt
```
## Documentation
- [Command Reference](docs/commands.md) - Complete list of all commands with options
- [Configuration Guide](docs/lt.config.md) - Configuration file documentation
- [Plugin Guide](docs/plugins.md) - How to create plugins
## Quick Start
```bash
# Check your environment
$ lt doctor
# Show project status
$ lt status
# Enable shell completions
$ lt completion install
```
## Configuration
The CLI supports project-specific configuration via `lt.config` files. This allows you to set default values for commands, reducing repetitive input.
```bash
# Create a configuration file interactively
$ lt config init
# Show current configuration (merged from hierarchy)
$ lt config show
```
Supported formats:
- `lt.config.json` - JSON format (recommended)
- `lt.config.yaml` - YAML format
- `lt.config` - Auto-detected format
Configuration files are searched from the current directory up to root and merged hierarchically.
For detailed documentation, see [docs/lt.config.md](docs/lt.config.md).
## Examples
```
// Start
$ lt
// Create new server
$ lt server create
or
$ lt server c
// Create new module for server (in server project root dir)
$ lt server module
or
$ lt server m
// Update and install npm packages (in project dir)
$ lt npm update
or
$ lt npm up
or
$ lt npm u
// Checkout git branch and update packages (in project dir)
$ lt git get
or
$ lt git g
// Preview what a command would do (dry-run)
$ lt git clear --dry-run
$ lt git reset --dry-run
$ lt git squash --dry-run
$ lt git rebase --dry-run
// Skip confirmation prompts (noConfirm)
$ lt git get feature --noConfirm
$ lt git squash dev --noConfirm
// Combine flags for CI/CD pipelines
$ lt git clean --noConfirm
$ lt server module User --noConfirm
// View command history
$ lt history
...
```
## Development
```
# Clone project
git clone git@github.com:lenneTech/cli.git
cd cli
# Link the project for global usage
npm link
# Make changes
...
# Test changes
lt ...
# Build new version
npm build
```
## Thanks
Many thanks to the developers of [Glugun](https://infinitered.github.io/gluegun)
and all the developers whose packages are used here.
## License
MIT - see LICENSE