oclif CLI
🗒 Description
This is the oclif CLI for the Open CLI Framework, that supports the development of oclif plugins and CLIs.
🚀 Getting Started Tutorial
Install the CLI globally:
npm i -g @ai-citizens/ava
Run ava --help to see what commands are available.
📌 Requirements
Currently, Node 18+ is supported. We support the LTS versions of Node. You can add the node package to your CLI to ensure users are running a specific version of Node.
Breaking Changes
oclif multi, oclif plugin, and oclif single have all been removed in favor of oclif generate, which generates an oclif based CLI using the hello-world example repo.
- The reason is that there's not enough of a meaningful difference between a "multi command cli", a "single command cli", and a "plugin" to justify the maintenance cost. The generated CLI can be easily used for any of those use cases.
oclif hook is now oclif generate:hook
oclif command is now oclif generate:command
New Commands
Version 2 now includes all the commands from the oclif-dev CLI. This means that you can now use a single CLI for all your oclif needs. These commands include:
oclif manifest
oclif pack
oclif pack:deb
oclif pack:macos
oclif pack:win
oclif upload (formerly known as oclif-dev publish)
oclif upload:deb (formerly known as oclif-dev publish:deb)
oclif upload:macos (formerly known as oclif-dev publish:macos)
oclif upload:win (formerly known as oclif-dev publish:win)
oclif readme
🏗 Usage
Creating a CLI:
$ npx oclif generate mynewcli
? npm package name (mynewcli): mynewcli
$ cd mynewcli
$ ./bin/run.js --version
mynewcli/0.0.0 darwin-x64 node-v9.5.0
$ ./bin/run.js --help
USAGE
$ mynewcli [COMMAND]
COMMANDS
hello
help display help for mynewcli
$ ./bin/run.js hello world
hello world! (./src/commands/hello/world.ts)
📚 Examples
🔨 Commands
ava chat
Interactive chat with the AI assistant
USAGE
$ ava chat [-m <value>] [-s]
FLAGS
-m, --model=<value> The model to use
-s, --modelSelect Select a model
DESCRIPTION
Interactive chat with the AI assistant
ava cla
Interactive AI agent to generate and execute commands based on natural language input
USAGE
$ ava cla [-m <value>] [-s]
FLAGS
-m, --model=<value> The model to use
-s, --modelSelect Select a model
DESCRIPTION
Interactive AI agent to generate and execute commands based on natural language input
ava init [CONFIGPATH]
Initialize Ava configuration
USAGE
$ ava init [CONFIGPATH] [-f]
ARGUMENTS
CONFIGPATH Optional path for the config file
FLAGS
-f, --force Overwrite existing config file
DESCRIPTION
Initialize Ava configuration
EXAMPLES
$ ava init
$ ava init /custom/path
ava search QUERY
AI powered search
USAGE
$ ava search QUERY
ARGUMENTS
QUERY Query to search the graph
DESCRIPTION
AI powered search
ava test graph [TYPE]
describe the command here
USAGE
$ ava test graph [TYPE] [-f]
ARGUMENTS
TYPE type of graph to run
FLAGS
-f, --force
DESCRIPTION
describe the command here
EXAMPLES
$ ava test graph
ava util process dir [INPUTDIR]
Converts a directory of files to a text file
USAGE
$ ava util process dir [INPUTDIR] [-g <value>] [-i <value>] [-o <value>] [-w]
ARGUMENTS
INPUTDIR input directory to convert to text file
FLAGS
-g, --gitIgnore=<value> path to .gitignore file to use for ignoring files and directories
-i, --ignore=<value> ignore files and directories using comma separated string
-o, --outputFile=<value> output file to write to
-w, --writeToCWD write to current working directory
DESCRIPTION
Converts a directory of files to a text file
EXAMPLES
$ ava util process dir
🚀 Contributing
See the contributing guide.
🏭 Related Repositories
- @oclif/core - Base library for oclif. This can be used directly without the generator.
- @oclif/test - Test helper for oclif.
🦔 Learn More