The repo Commands
Everything that is not an action lives behind one reserved word: curo repo. These are repo-structure queries and manifest management. The first bare token after curo is therefore always an action, or repo.
The repo commands honor --porcelain for JSON output.
curo repo info
Displays the project layout: the component tree. -v adds profiles and defined actions, -vv adds versions and descriptions.
curo repo info
public
├── shdx
│ ├── lib
│ └── installer
├── shaddo
│ ├── cli
│ └── installer
└── curo
├── cli
├── installer
└── docs
Add -v or more vs for profiles, actions, versions and descriptions:
curo repo info -vv
public [A collection of open source tools and libraries.]
├── dev
│ ├── install
│ ├── format
│ └── lint
├── ci
│ └── install
└── curo [2.1.0 - A command line tool for building projects.]
└── cli [2.1.0 - The curo command line tool.]
├── dev
│ ├── build
│ ├── format
│ ├── test
│ │ ├── unit
│ │ ├── integration
│ │ └── functional
│ └── deploy
└── rel
├── build
└── publish
curo repo find
Prints the full path of a component. Use / or no argument for the root. Handy for navigation:
cd $(curo repo find frontend/lib)
cd $(curo repo find /)
curo repo version
Prints the version of a component, with {{ inherit }} resolved. Use / or no argument for the root:
curo repo version curo/cli
(The version of curo itself is curo --version.)
curo repo init
Prints a commented curo.toml template to stdout:
curo repo init > curo.toml
curo repo migrate
Converts 1.x manifests to lean 2.0 manifests, in place. See Migrating from 1.x.
curo repo migrate --dry-run
curo repo migrate
curo repo completion
Prints the shell completion script for fish, bash or zsh. See Installation for setup. Completions cover actions, sublevels, component paths, profiles and runtime names.