Metadata-Version: 2.4
Name: devlift-cli
Version: 0.1.0
Summary: DevLift command-line tool: create, change, review and deploy DevLift resources from the terminal.
License: Proprietary
Keywords: devlift,devops,deployment,infrastructure,cli
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: Other/Proprietary License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Systems Administration
Classifier: Typing :: Typed
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: typer>=0.15
Requires-Dist: rich>=13
Requires-Dist: httpx>=0.27
Requires-Dist: keyring>=25
Requires-Dist: pydantic>=2
Requires-Dist: pyyaml>=6

# devlift-cli

DevLift from the terminal, in the style of the AWS CLI:

```
devlift <group> <operation> [flags]
```

Every command is a fixed sequence of calls to the DevLift backend's REST API,
the same endpoints the web dashboard uses. Nothing here talks to an LLM.

## Install

```
pip install devlift-cli
```

Or, to keep it in its own environment and off your system Python:

```
pipx install devlift-cli
```

Upgrade with `pip install -U devlift-cli` (or `pipx upgrade devlift-cli`).
Your profile and sign-in live in `~/.config/devlift` and survive upgrades.

Then:

```
devlift configure --base-url <your DevLift backend> --default
devlift login
devlift whoami
devlift man
```

Requires Python 3.11 or newer. To remove it: `pip uninstall devlift-cli`
(or `pipx uninstall devlift-cli`). That leaves `~/.config/devlift`, so delete
that too if you want your profiles and sign-in gone as well.

Several backends? `devlift profile list`, `devlift profile use <name>` and
`devlift profile show` switch between them and say which one is active.

## Manual

The full command reference ships inside the package: `devlift man` pages
through it like `man`, and `devlift manual s3` prints one section.

## What it covers

- Resources: `s3`, `sqs`, `dynamodb` create / list / describe, `s3` and `sqs` update.
- Services: `eks create / edit / show / diff / deploy / status`, `kong route add / remove / rename`, `kong plugin add`.
- Review lane: `request submit / withdraw / discard / list / show`, `approval approve / request-changes / reject / revoke / list`.
- Deployments: `deployment list / status`, `queue list`.
- Discovery: applications, environments, regions, resource groups, services, repositories, branches, languages.

Variables and secrets stay in the dashboard by design.

## Scripting

- `-o json` prints only JSON on stdout (the default when stdout is not a terminal).
- `--yes` answers confirmations, `--no-input` fails instead of prompting.
- `DEVLIFT_TOKEN` skips the stored login. `DEVLIFT_PROFILE`, `DEVLIFT_BASE_URL` override the profile.
- Exit codes: 0 ok · 1 error · 2 not signed in · 3 bad input · 4 permission · 5 confirmation needed · 6 not found · 7 conflict.

## Claude skill

`skills/devlift/` teaches Claude (Claude Code or any Agent Skills host) to
drive this CLI non-interactively. Install with:

```
ln -s "$(pwd)/skills/devlift" ~/.claude/skills/devlift      # personal
# or copy it into a project's .claude/skills/devlift
```

## Development

Building, testing and cutting a release: see `CONTRIBUTING.md` in the source
repository. It is deliberately not part of the published package.
