--- title: "Command Line Interface" description: "The pit tool" type: "standalone" --- ƿit provides a command-line interface for managing packages, running scripts, and building applications. ## Basic Usage ```bash pit [arguments] ``` ## Commands ### pit version Display the ƿit version. ```bash pit version # 0.1.0 ``` ### pit install Install a package to the shop. ```bash pit install gitea.pockle.world/john/prosperon pit install /Users/john/local/mypackage # local path ``` ### pit update Update packages from remote sources. ```bash pit update # update all packages pit update # update specific package ``` ### pit remove Remove a package from the shop. ```bash pit remove gitea.pockle.world/john/oldpackage ``` ### pit list List installed packages. ```bash pit list # list all installed packages pit list # list dependencies of a package ``` ### pit ls List modules and actors in a package. ```bash pit ls # list files in current project pit ls # list files in specified package ``` ### pit build Build the current package. ```bash pit build ``` ### pit test Run tests. ```bash pit test # run tests in current package pit test all # run all tests pit test # run tests in specific package ``` ### pit link Manage local package links for development. ```bash pit link add # link a package pit link list # show all links pit link delete # remove a link pit link clear # remove all links ``` ### pit fetch Fetch package sources without extracting. ```bash pit fetch ``` ### pit upgrade Upgrade the ƿit installation itself. ```bash pit upgrade ``` ### pit clean Clean build artifacts. ```bash pit clean ``` ### pit help Display help information. ```bash pit help pit help ``` ## Running Scripts Any `.ce` file in the ƿit core can be run as a command: ```bash pit version # runs version.ce pit build # runs build.ce pit test # runs test.ce ``` ## Package Locators Packages are identified by locators: - **Remote**: `gitea.pockle.world/user/repo` - **Local**: `/absolute/path/to/package` ```bash pit install gitea.pockle.world/john/prosperon pit install /Users/john/work/mylib ``` ## Configuration ƿit stores its data in `~/.pit/`: ``` ~/.pit/ ├── packages/ # installed packages ├── lib/ # compiled dynamic libraries ├── build/ # build cache ├── cache/ # downloaded archives ├── lock.toml # installed package versions └── link.toml # local development links ``` ## Environment ƿit reads the `HOME` environment variable to locate the shop directory. ## Exit Codes - `0` — Success - Non-zero — Error (check output for details)