UNPKG

@fragment-dev/cli

Version:
643 lines (447 loc) 17.8 kB
# @fragment-dev/cli [Fragment](https://fragment.dev) is the Ledger API for engineers that move money. Stop wrangling payment tables, debugging balance errors and hacking together data pipelines. Start shipping the features that make a difference. # Commands <!-- commands --> * [`fragment add-ledger-entry`](#fragment-add-ledger-entry) * [`fragment autocomplete [SHELL]`](#fragment-autocomplete-shell) * [`fragment commands`](#fragment-commands) * [`fragment create-custom-link`](#fragment-create-custom-link) * [`fragment create-ledger`](#fragment-create-ledger) * [`fragment delete-custom-txs`](#fragment-delete-custom-txs) * [`fragment delete-ledger`](#fragment-delete-ledger) * [`fragment delete-schema`](#fragment-delete-schema) * [`fragment gen-graphql`](#fragment-gen-graphql) * [`fragment get-schema`](#fragment-get-schema) * [`fragment help [COMMAND]`](#fragment-help-command) * [`fragment init`](#fragment-init) * [`fragment login`](#fragment-login) * [`fragment migrate-ledger-entry`](#fragment-migrate-ledger-entry) * [`fragment query ledgerAccounts`](#fragment-query-ledgeraccounts) * [`fragment query ledgers`](#fragment-query-ledgers) * [`fragment query schema`](#fragment-query-schema) * [`fragment query schemas`](#fragment-query-schemas) * [`fragment reverse-ledger-entry`](#fragment-reverse-ledger-entry) * [`fragment start`](#fragment-start) * [`fragment store-schema`](#fragment-store-schema) * [`fragment token`](#fragment-token) * [`fragment update`](#fragment-update) * [`fragment update-ledger-account`](#fragment-update-ledger-account) * [`fragment verify-schema`](#fragment-verify-schema) * [`fragment workspace`](#fragment-workspace) ## `fragment add-ledger-entry` Add a Ledger Entry to a Ledger Account. ``` USAGE $ fragment add-ledger-entry -i <value> -l <value> -t <value> [-v] [-n <value>] [-p <value>...] FLAGS -i, --ik=<value> (required) The Idempotency Key for Ledger Entry creation. -l, --ledger.ik=<value> (required) The Idempotency Key of the Ledger to post the Ledger Entry to. -n, --type.version=<value> The version of the Ledger Entry type you want to post. -p, --param=<value>... The parameters for your Ledger Entry. (ex: --param amount=100 --param currency=USD) -t, --type=<value> (required) The `type` of Ledger Entry you want to post. -v, --verbose Enable verbose mode (prints GraphQL commands). DESCRIPTION Add a Ledger Entry to a Ledger Account. This mirrors the addLedgerEntry mutation in the GraphQL API. Only entries with type are allowed to be posted to a Ledger Account. EXAMPLES $ fragment add-ledger-entry FLAG DESCRIPTIONS -p, --param=<value>... The parameters for your Ledger Entry. (ex: --param amount=100 --param currency=USD) You may specify multiple parameters by repeating the flag. ``` ## `fragment autocomplete [SHELL]` Display autocomplete installation instructions. ``` USAGE $ fragment autocomplete [SHELL] [-r] ARGUMENTS SHELL (zsh|bash|powershell) Shell type FLAGS -r, --refresh-cache Refresh cache (ignores displaying instructions) DESCRIPTION Display autocomplete installation instructions. EXAMPLES $ fragment autocomplete $ fragment autocomplete bash $ fragment autocomplete zsh $ fragment autocomplete powershell $ fragment autocomplete --refresh-cache ``` _See code: [@oclif/plugin-autocomplete](https://github.com/oclif/plugin-autocomplete/blob/v3.0.4/src/commands/autocomplete/index.ts)_ ## `fragment commands` List all fragment commands. ``` USAGE $ fragment commands [--json] [-c id|plugin|summary|type... | --tree] [--deprecated] [-x | ] [--hidden] [--no-truncate | ] [--sort id|plugin|summary|type | ] FLAGS -c, --columns=<option>... Only show provided columns (comma-separated). <options: id|plugin|summary|type> -x, --extended Show extra columns. --deprecated Show deprecated commands. --hidden Show hidden commands. --no-truncate Do not truncate output. --sort=<option> [default: id] Property to sort by. <options: id|plugin|summary|type> --tree Show tree of commands. GLOBAL FLAGS --json Format output as json. DESCRIPTION List all fragment commands. ``` _See code: [@oclif/plugin-commands](https://github.com/oclif/plugin-commands/blob/v4.0.10/src/commands/commands.ts)_ ## `fragment create-custom-link` Create a Custom Link ``` USAGE $ fragment create-custom-link -i <value> --name <value> [-v] FLAGS -i, --ik=<value> (required) The Idempotency Key for the Custom Link creation. -v, --verbose Enable verbose mode (prints GraphQL commands). --name=<value> (required) The name for the Custom Link. DESCRIPTION Create a Custom Link This mirrors the CreateCustomLink API endpoint. Read https://fragment.dev/docs/sync-payments#custom-link-onboarding to learn more about Custom Links. EXAMPLES $ fragment create-custom-link --ik <ik> --name <name> ``` ## `fragment create-ledger` Create schematized Ledger within your Fragment workspace ``` USAGE $ fragment create-ledger -i <value> -n <value> [-v] [-s <value>] FLAGS -i, --ik=<value> (required) Idempotency key for Ledger creation -n, --name=<value> (required) Ledger name (e.g. 'My First Ledger') -s, --schema=<value> [default: fragment.jsonc] Path to schema file (defaults to fragment.jsonc) -v, --verbose Enable verbose mode (prints GraphQL commands). DESCRIPTION Create schematized Ledger within your Fragment workspace EXAMPLES $ fragment create-ledger ``` ## `fragment delete-custom-txs` Delete Custom Txs. ``` USAGE $ fragment delete-custom-txs --id <value>... [-v] FLAGS -v, --verbose Enable verbose mode (prints GraphQL commands). --id=<value>... (required) Fragment ID of the Custom Tx to delete. DESCRIPTION Delete Custom Txs. This mirrors the deleteCustomTxs mutation in the GraphQL API. EXAMPLES $ fragment delete-custom-txs ``` ## `fragment delete-ledger` Delete a Ledger. ``` USAGE $ fragment delete-ledger [-v] [-l <value>] [--ledger.id <value>] FLAGS -l, --ledger.ik=<value> The Idempotency Key of the Ledger to delete. -v, --verbose Enable verbose mode (prints GraphQL commands). --ledger.id=<value> The Fragment ID of the Ledger to delete. DESCRIPTION Delete a Ledger. This mirrors the deleteLedger mutation in the GraphQL API. EXAMPLES $ fragment delete-ledger ``` ## `fragment delete-schema` Delete a Schema. ``` USAGE $ fragment delete-schema -k <value> [-v] FLAGS -k, --key=<value> (required) Key of the Schema to delete (e.g. template-schema). -v, --verbose Enable verbose mode (prints GraphQL commands). DESCRIPTION Delete a Schema. This mirrors the deleteSchema mutation in the GraphQL API. EXAMPLES $ fragment delete-schema ``` ## `fragment gen-graphql` Generate GraphQL queries from your Schema for your SDK. ``` USAGE $ fragment gen-graphql -p <value> -o <value> [--output-file-per-query] [--include-standard-queries] FLAGS -o, --output=<value> (required) The output path for the generated file(s). Must end with .graphql or .gql, unless --output-file-per-query is set. If set, the output path must be a directory. -p, --path=<value> (required) The path to the schema file. --include-standard-queries Include the set of standard queries in the output. This is required only if you are not using the Fragment SDK. --output-file-per-query Output each query in a separate file instead of a single file. DESCRIPTION Generate GraphQL queries from your Schema for your SDK. This command generates a GraphQL query for each entry type in your ledger Schema. Use this command with Fragment SDKs to create type-safe code to update your ledger. EXAMPLES Output the GraphQL queries from the schema file at <path>. $ fragment gen-graphql --path <path> Output the GraphQL queries to a specific output path. $ fragment gen-graphql --path <path> --output <output path> Output each GraphQL query in a separate file. $ fragment gen-graphql --path <path> --output <output path> --output-file-per-query Include the standard GraphQL queries and output each in a separate file. $ fragment gen-graphql --path <path> --output <output path> --output-file-per-query --include-standard-queries ``` ## `fragment get-schema` Retrieve a schema from the API for local use ``` USAGE $ fragment get-schema [-v] [-k <value>] [--version <value>] [-o <value>] FLAGS -k, --key=<value> Key of schema (e.g. template-schema) -o, --output=<value> Path to the schema file (e.g. /home/user/code/schema.jsonc). Defaults to the current directory and the schema key as the file name. -v, --verbose Enable verbose mode (prints GraphQL commands). --version=<value> Schema version to retrieve (e.g. 2). Defaults to latest available version. DESCRIPTION Retrieve a schema from the API for local use EXAMPLES $ fragment get-schema ``` ## `fragment help [COMMAND]` Display help for fragment. ``` USAGE $ fragment help [COMMAND...] [-n] ARGUMENTS COMMAND... Command to show help for. FLAGS -n, --nested-commands Include all nested commands in the output. DESCRIPTION Display help for fragment. ``` _See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.2.7/src/commands/help.ts)_ ## `fragment init` Initialize an example chart of accounts locally ``` USAGE $ fragment init [-f <value>] FLAGS -f, --file=<value> [default: fragment.jsonc] Path to write initial schema to DESCRIPTION Initialize an example chart of accounts locally EXAMPLES $ fragment init ``` ## `fragment login` Authenticate with FRAGMENT. ``` USAGE $ fragment login [--client-id <value>] [--client-secret <value>] [--api-url <value>] [--oauth-url <value>] [--oauth-scope <value>] [--test] FLAGS --api-url=<value> The API URL for your FRAGMENT Workspace (ex: https://api.us-west-2.fragment.dev/graphql) --client-id=<value> The API Client ID for your FRAGMENT Workspace. --client-secret=<value> The API Client Secret for your FRAGMENT Workspace --oauth-scope=<value> The OAuth Scope for your auth token (ex: https://api.us-west-2.fragment.dev/*) --oauth-url=<value> The OAuth URL from which to retrieve your auth token (ex: https://auth.fragment.dev/oauth2/token) --test If set, tests stored credentials only DESCRIPTION Authenticate with FRAGMENT. Authentication is scoped to one FRAGMENT Workspace. If you want to authenticate with another Workspace, you must create another API Client and follow the authentication flow again. Credentials will be written to ~/.fragment/auth.json. EXAMPLES $ fragment login $ fragment login --client-id <client-id> --client-secret <client-secret> --api-url <api-url> --oauth-url <oauth-url> ``` ## `fragment migrate-ledger-entry` Migrate a Ledger Entry to a new type and version. ``` USAGE $ fragment migrate-ledger-entry -e <value> -l <value> -t <value> [-v] [-n <value>] [-p <value>...] FLAGS -e, --entry.id=<value> (required) The ID of the Ledger Entry to migrate. -l, --ledger.ik=<value> (required) The Idempotency Key of the Ledger containing the entry. -n, --new.entry.type.version=<value> The new version of the Ledger Entry type. -p, --param=<value>... The parameters for the new Ledger Entry. (ex: --param amount=100 --param currency=USD) -t, --new.entry.type=<value> (required) The new type for the migrated Ledger Entry. -v, --verbose Enable verbose mode (prints GraphQL commands). DESCRIPTION Migrate a Ledger Entry to a new type and version. This mirrors the migrateLedgerEntry mutation in the GraphQL API. Migrates an existing Ledger Entry to a new type and version with new parameters. EXAMPLES $ fragment migrate-ledger-entry FLAG DESCRIPTIONS -p, --param=<value>... The parameters for the new Ledger Entry. (ex: --param amount=100 --param currency=USD) You may specify multiple parameters by repeating the flag. ``` ## `fragment query ledgerAccounts` Get accounts for ledger within your workspace by ID ``` USAGE $ fragment query ledgerAccounts -l <value> [-v] [--first <value>] [--after <value>] FLAGS -l, --ledger=<value> (required) Ledger ID to retrieve accounts for -v, --verbose Enable verbose mode (prints GraphQL commands). --after=<value> Cursor to paginate through ledger accounts --first=<value> Number of ledger accounts to retrieve in each page DESCRIPTION Get accounts for ledger within your workspace by ID EXAMPLES $ fragment query ledgerAccounts ``` ## `fragment query ledgers` List all ledgers in your workspace ``` USAGE $ fragment query ledgers [-v] FLAGS -v, --verbose Enable verbose mode (prints GraphQL commands). DESCRIPTION List all ledgers in your workspace EXAMPLES $ fragment query ledgers ``` ## `fragment query schema` Get schema from your workspace by key ``` USAGE $ fragment query schema -k <value> [-v] [--version <value>] FLAGS -k, --key=<value> (required) Key of schema (e.g. template-schema) -v, --verbose Enable verbose mode (prints GraphQL commands). --version=<value> Schema version to retrieve (e.g. 2). Defaults to latest available version. DESCRIPTION Get schema from your workspace by key EXAMPLES $ fragment query schema ``` ## `fragment query schemas` List all schemas in your workspace ``` USAGE $ fragment query schemas [-v] FLAGS -v, --verbose Enable verbose mode (prints GraphQL commands). DESCRIPTION List all schemas in your workspace EXAMPLES $ fragment query schemas ``` ## `fragment reverse-ledger-entry` Reverse a Ledger Entry. ``` USAGE $ fragment reverse-ledger-entry --id <value> [-v] FLAGS -v, --verbose Enable verbose mode (prints GraphQL commands). --id=<value> (required) Fragment ID of the Ledger Entry to reverse. DESCRIPTION Reverse a Ledger Entry. This mirrors the reverseLedgerEntry mutation in the GraphQL API. EXAMPLES $ fragment reverse-ledger-entry ``` ## `fragment start` Develop your chart of accounts locally ``` USAGE $ fragment start [-p <value>] [-f <value>] [--websocket-port <value>] FLAGS -f, --file=<value> [default: fragment.jsonc] Path for schema JSON file. Default to fragment.jsonc -p, --port=<value> [default: 9410] Port for schema visualizer to run on --websocket-port=<value> Port for the websocket to live on that syncs changes between the CLI and visualizer DESCRIPTION Develop your chart of accounts locally EXAMPLES $ fragment start --file ./my-fragment-schema.json ``` ## `fragment store-schema` Store schema within your Fragment workspace ``` USAGE $ fragment store-schema [-v] [-p <value>] FLAGS -p, --path=<value> [default: fragment.jsonc] Path to schema file (e.g. fragment.jsonc) -v, --verbose Enable verbose mode (prints GraphQL commands). DESCRIPTION Store schema within your Fragment workspace EXAMPLES $ fragment store-schema ``` ## `fragment token` Get a FRAGMENT Authentication Token. ``` USAGE $ fragment token [-v] FLAGS -v, --verbose Enable verbose mode (prints GraphQL commands). EXAMPLES $ fragment token ``` ## `fragment update` Update the FRAGMENT CLI ``` USAGE $ fragment update [-y] [--dry-run] FLAGS -y, --yes --dry-run DESCRIPTION Update the FRAGMENT CLI EXAMPLES $ fragment update ``` ## `fragment update-ledger-account` Update a Ledger Account within your Fragment Ledger. ``` USAGE $ fragment update-ledger-account --update.name <value> [-v] [-p <value> | --ledgerAccount.id <value>] [-l <value>] [--ledger.id <value>] FLAGS -l, --ledger.ik=<value> The Idempotency Key of the Ledger the Ledger Account is in. -p, --ledgerAccount.path=<value> The unique path of the Ledger Account. -v, --verbose Enable verbose mode (prints GraphQL commands). --ledger.id=<value> The Fragment ID of the Ledger the Ledger Account is in. --ledgerAccount.id=<value> The Fragment ID of the Ledger Account. --update.name=<value> (required) DESCRIPTION Update a Ledger Account within your Fragment Ledger. This mirrors the updateLedgerAccount mutation in the GraphQL API. EXAMPLES $ fragment update-ledger-account ``` ## `fragment verify-schema` Verify that a schema file follows the Fragment JSON schema format ``` USAGE $ fragment verify-schema [-p <value>] [-v] [-j] FLAGS -j, --json Output validation results as JSON for programmatic use -p, --path=<value> [default: fragment/fragment.json] Path to schema file (e.g. my-schema.jsonc) -v, --verbose Show detailed validation output DESCRIPTION Verify that a schema file follows the Fragment JSON schema format EXAMPLES $ fragment verify-schema $ fragment verify-schema --path ./my-schema.jsonc $ fragment verify-schema -p fragment/fragment.json --verbose $ fragment verify-schema --path ./my-schema.jsonc --json ``` ## `fragment workspace` Get the details of the workspace this CLI is authenticated to ``` USAGE $ fragment workspace [-v] FLAGS -v, --verbose Enable verbose mode (prints GraphQL commands). DESCRIPTION Get the details of the workspace this CLI is authenticated to EXAMPLES $ fragment workspace ``` <!-- commandsstop -->