Oclif
CLI for generating, building, and releasing oclif CLIs. Built by Salesforce.
Install / Use
/learn @oclif/OclifREADME
oclif CLI
<!-- toc -->
oclifCLI- 🗒 Description
- 🚀 Getting Started Tutorial
- 📌 Requirements
- 📌 Migrating from V1
- 🏗 Usage
- 📚 Examples
- 🔨 Commands
- Command Topics
- 🚀 Contributing
- 🏭 Related Repositories
- 🦔 Learn More
🗒 Description
This is the oclif CLI for the Open CLI Framework, that supports the development of oclif plugins and CLIs.
See the docs for more information.
🚀 Getting Started Tutorial
The Getting Started tutorial is a step-by-step guide to introduce you to oclif. If you have not developed anything in a command line before, this tutorial is a great place to get started.
See Usage below for an overview of the oclif CLI.
📌 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.
📌 Migrating from V1
If you have been using version 1 of the oclif CLI there are some important differences to note when using the latest version.
Breaking Changes
oclif multi,oclif plugin, andoclif singlehave all been removed in favor ofoclif 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 hookis nowoclif generate:hookoclif commandis nowoclif 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 manifestoclif packoclif pack:deboclif pack:macosoclif pack:winoclif upload(formerly known asoclif-dev publish)oclif upload:deb(formerly known asoclif-dev publish:deb)oclif upload:macos(formerly known asoclif-dev publish:macos)oclif upload:win(formerly known asoclif-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
<!-- commands -->Command Topics
oclif generate- Generate a new CLIoclif help- Display help for oclif.oclif init- Initialize a new oclif CLIoclif manifest- Generates plugin manifest json (oclif.manifest.json).oclif pack- Package an oclif CLI into installable artifacts.oclif promote- Promote CLI builds to a S3 release channel.oclif readme- Adds commands to README.md in current directory.oclif upload- Upload installable CLI artifacts to AWS S3.
🚀 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
Related Skills
Writing Hookify Rules
83.8kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
review-duplication
99.3kUse this skill during code reviews to proactively investigate the codebase for duplicated functionality, reinvented wheels, or failure to reuse existing project best practices and shared utilities.
cursorrules
A collection of .cursorrules
mcp-for-beginners
15.7kThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed for developers, it focuses on practical techniques for building modular, scalable, and secure AI workflows from session setup to service orchestration.
