# Browser command line The idea is to transform api methods in command line interface The default shell command, like: ```sh wacli ``` You can also install localy Binary, if exist ```sh wacli bin ``` API ```sh wacli ain ``` On your website you will need to use `.well-know/wacli.json` file: ```jsonc { "api": "", "bin": { "": [{ "": "" | ["short_hand","long_hand"], "type": "path" | "method", "description": "description of cli command" "path": "" }], "auth": { "sheme": "basic" | "bearer" | "oauth2" "token": "" // - bearer // oauth2 "flows": { "implict": { authorizationUrl: "url", scopes: {} } } } } } ``` ## Example as: ```json { "api": "https://codeberg.org/api/v1", "settings": { "aliases": [ { "alias": "i", "type": "path", "path": "/repos/{owner}/{repo}/issues" }, { "alias": "create", "type": "method", "method": "POST" }, { "alias": "tea", "type": "bin", "bin": "tea" } ] }, "bin": { "linux": [{"x86": "https://dl.gitea.com/tea/main/tea-main-linux-amd64.xz"}] } } ``` Next REST API - `https://codeberg.org/api/v1/repos/{owner}/{repo}/issues` method is transform command: By default - GET request: ```sh wacli codeberg.org repos issues [owner] [repo] ``` If you need a request other than GET, then add the command ```sh wacli codeberg.org post|delete|put|path repos issues [owner] [repo] ``` Such requests may require authorization, so you must log in separately: ```sh wacli auth codeberg.org ``` tokens are stored separately in the database. Methods can be overridden: ```sh wacli codeberg.org create repos issues [owner] [repo] ``` By default, all request in clearnet and tor go via `https`, but i2p - `http`. But sometimes you need to specify a specific protocol ```sh wacli bin "git+http://codeberg.org/" ``` Binaries is install of user directory `$HOME/.local/bin`, for root user - `/usr/local/bin`. Perhaps not everyone will add tools to their sites, so for popular tools using directive: ```sh wacli registry:codeberg repos issues ``` You can also get help on all api methods using the command ```sh wacli help codeberg.org ```