{"_id":"@abapify/adt-cli","_rev":"3-76f2440ec3fe374f06807c6e6eccae89","name":"@abapify/adt-cli","dist-tags":{"latest":"0.3.6"},"versions":{"0.0.0":{"name":"@abapify/adt-cli","version":"0.0.0","_id":"@abapify/adt-cli@0.0.0","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"dist":{"shasum":"0a4907673741d35bb0d0ac11f946e1f462119ad7","tarball":"https://registry.npmjs.org/@abapify/adt-cli/-/adt-cli-0.0.0.tgz","fileCount":2,"integrity":"sha512-VgFZGWe5FQ34PoTpli7S42LB/iJCQBa0L/2C1tsKTAiSVqr0QFg0td/4o5sElAgvsBBXuAd34QJCdb8erf+2UA==","signatures":[{"sig":"MEYCIQDP6paVbueERRvYzl7u8b85Fi9dMfqtEwQ3RHX4dzKdngIhAJ1gVxzxKSxDRzM1lFRe2Vveu+csW7vy1Bgqg5W6Bc/E","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":222},"_npmUser":{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"},"_npmVersion":"11.12.1","description":"Placeholder — real package is published via CI/CD (trusted publishing).","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/adt-cli_0.0.0_1776719575621_0.21791189547031342","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"@abapify/adt-cli","version":"0.3.5","license":"MIT","_id":"@abapify/adt-cli@0.3.5","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-cli#readme","bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"bin":{"adt":"dist/bin/adt.mjs"},"dist":{"shasum":"c0181e100df58aae2b421202b91a407159880b52","tarball":"https://registry.npmjs.org/@abapify/adt-cli/-/adt-cli-0.3.5.tgz","fileCount":2,"integrity":"sha512-vl18q2sd5sYSv5ZOzVvsCEpL+Ac/5MMcCSBFATb5ULtBvL1HoCXbGEVmYucVZsgIt2jDd8xLFLkMeJgao6TKJw==","signatures":[{"sig":"MEUCIERFubSYAI3GlzTzxvdGQhi7jcBLBBrIR/qQuyTmhBQMAiEAx9OLNCckdK8NjcIMhGTf7phhiIhea3JadC2iAOC22Lo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abapify%2fadt-cli@0.3.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":9762},"type":"module","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./bin/adt":"./dist/bin/adt.mjs","./bin/adt-all":"./dist/bin/adt-all.mjs","./package.json":"./package.json"},"gitHead":"185666fe6ccb304e7b08529eb376ec2493131a7a","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a45d41a1-b1ef-4eed-ac5b-657798125dc3"}},"repository":{"url":"git+https://github.com/abapify/adt-cli.git","type":"git","directory":"packages/adt-cli"},"_npmVersion":"11.12.1","description":"[![version](https://img.shields.io/github/package-json/v/abapify/adt-cli?filename=packages/adt-cli/package.json)](https://github.com/abapify/adt-cli/pkgs/npm/%40abapify%2Fadt-cli)","directories":{},"_nodeVersion":"24.14.1","dependencies":{"ink":"5.1.0","pino":"^8.17.2","chalk":"^5.6.2","react":"18.3.1","js-yaml":"^4.1.0","commander":"^12.0.0","proxy-agent":"^6.4.0","@abapify/adk":"0.3.5","@xmldom/xmldom":"^0.9.9","ink-text-input":"^6.0.0","@abapify/logger":"0.3.5","@abapify/adt-atc":"0.3.5","@abapify/adt-rfc":"0.3.5","@abapify/adt-tui":"0.3.5","ink-select-input":"^6.0.0","@abapify/adt-auth":"0.3.5","@abapify/adt-diff":"0.3.5","@inquirer/prompts":"^7.9.0","@abapify/adt-aunit":"0.3.5","@abapify/adt-locks":"0.3.5","@abapify/adt-client":"0.3.5","@abapify/adt-config":"0.3.5","@abapify/adt-export":"0.3.5","@abapify/adt-plugin":"0.3.5","@abapify/adt-codegen":"0.3.5","@abapify/adt-schemas":"0.3.5","@abapify/adt-contracts":"0.3.5","@abapify/adt-plugin-gcts":"0.3.5","@abapify/adt-plugin-abapgit":"0.3.5","@abapify/adt-plugin-gcts-cli":"0.3.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@types/react":"18.3.0"},"_npmOperationalInternal":{"tmp":"tmp/adt-cli_0.3.5_1776723690052_0.7297607337237184","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"@abapify/adt-cli","version":"0.3.6","license":"MIT","publishConfig":{"access":"public"},"type":"module","types":"./dist/index.d.mts","exports":{".":"./dist/index.mjs","./bin/adt":"./dist/bin/adt.mjs","./bin/adt-all":"./dist/bin/adt-all.mjs","./package.json":"./package.json"},"dependencies":{"@abapify/adk":"0.3.6","@abapify/adt-auth":"0.3.6","@abapify/adt-client":"0.3.6","@abapify/adt-config":"0.3.6","@abapify/adt-locks":"0.3.6","@abapify/adt-plugin":"0.3.6","@abapify/adt-plugin-abapgit":"0.3.6","@abapify/adt-plugin-gcts":"0.3.6","@abapify/adt-plugin-gcts-cli":"0.3.6","@abapify/adt-rfc":"0.3.6","@abapify/adt-schemas":"0.3.6","@abapify/adt-tui":"0.3.6","@abapify/logger":"0.3.6","@inquirer/prompts":"^7.9.0","@abapify/adt-contracts":"0.3.6","@abapify/adt-codegen":"0.3.6","@abapify/adt-atc":"0.3.6","@abapify/adt-aunit":"0.3.6","@abapify/adt-diff":"0.3.6","@abapify/adt-export":"0.3.6","@xmldom/xmldom":"^0.9.9","chalk":"^5.6.2","commander":"^12.0.0","ink":"5.1.0","ink-select-input":"^6.0.0","ink-text-input":"^6.0.0","js-yaml":"^4.1.0","pino":"^8.17.2","proxy-agent":"^6.4.0","react":"18.3.1"},"devDependencies":{"@types/react":"18.3.0"},"bin":{"adt":"dist/bin/adt.mjs"},"repository":{"type":"git","url":"git+https://github.com/abapify/adt-cli.git","directory":"packages/adt-cli"},"homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-cli#readme","bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"description":"Command-line interface for SAP ABAP Development Tools — the adt binary, plus plugin loader and top-level service layer","gitHead":"489b2b4ad7c2ea972f323d4c356997ac5962ba9e","_id":"@abapify/adt-cli@0.3.6","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-6bfxcNK+eSb5pGLC6SfI9yCbCt1ABpUutQcPtoazjfOSK9BLwN2Uh+05jcoo2A6XZNlmOYIm4B5WQA3eR7Do1g==","shasum":"89b44a1b6c1f13c8f29013a3ac7980834a56c402","tarball":"https://registry.npmjs.org/@abapify/adt-cli/-/adt-cli-0.3.6.tgz","fileCount":2,"unpackedSize":9903,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@abapify%2fadt-cli@0.3.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDE0cj2zLaS132kriA8hMZvnA+pLvejOSL00fWykXnsNAIgStOhtdN4U6NxjJbZ93zETfHNkHa6RQJ+ArwnBasNj0c="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:a45d41a1-b1ef-4eed-ac5b-657798125dc3"}},"directories":{},"maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/adt-cli_0.3.6_1776744834068_0.07973780900560912"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-20T21:12:55.528Z","modified":"2026-04-21T04:13:54.483Z","0.0.0":"2026-04-20T21:12:55.746Z","0.3.5":"2026-04-20T22:21:30.195Z","0.3.6":"2026-04-21T04:13:54.206Z"},"bugs":{"url":"https://github.com/abapify/adt-cli/issues"},"license":"MIT","homepage":"https://github.com/abapify/adt-cli/tree/main/packages/adt-cli#readme","repository":{"type":"git","url":"git+https://github.com/abapify/adt-cli.git","directory":"packages/adt-cli"},"description":"Command-line interface for SAP ABAP Development Tools — the adt binary, plus plugin loader and top-level service layer","maintainers":[{"name":"theplenkov-npm","email":"petr.plenkov@gmail.com"}],"readme":"# @abapify/adt-cli\n\n[![version](https://img.shields.io/github/package-json/v/abapify/adt-cli?filename=packages/adt-cli/package.json)](https://github.com/abapify/adt-cli/pkgs/npm/%40abapify%2Fadt-cli)\n\nCommand-line interface for SAP ABAP Development Tools (ADT) REST APIs.\n\nPart of the [abapify monorepo](../../README.md).\n\n## Installation\n\n```bash\nnpm install -g @abapify/adt-cli\n```\n\nOr run without installing:\n\n```bash\nnpx @abapify/adt-cli <command>\n```\n\n## Quick Start\n\n```bash\n# Authenticate with a BTP service key\nadt auth login --file ./service-key.json\n\n# Discover available ADT services\nadt discovery\n\n# List transport requests\nadt transport list\n\n# Get object details\nadt get ZCL_MY_CLASS --properties\n\n# Show object structure as a tree\nadt outline ZIF_MY_INTERFACE\n\n# Import a package from SAP to local files\nadt import package ZTEST_PKG\n\n# Export local files back to SAP\nadt export package ZTEST_PKG ./abapgit-ztest_pkg --create --transport NPLK900123\n```\n\n## Commands\n\n### Authentication\n\n#### `adt auth login --file <path>`\n\nAuthenticate using a BTP service key file (OAuth 2.0 + PKCE).\n\n```bash\nadt auth login --file ./secrets/service-key.json\n```\n\nService key format:\n\n```json\n{\n  \"clientid\": \"...\",\n  \"clientsecret\": \"...\",\n  \"url\": \"https://your-btp-instance.cfapps.eu10.hana.ondemand.com\",\n  \"endpoints\": {\n    \"abap\": \"https://your-abap-system.cfapps.eu10.hana.ondemand.com\"\n  },\n  \"uaadomain\": \"authentication.eu10.hana.ondemand.com\"\n}\n```\n\nTokens are stored in `~/.config/adt-cli/` (Linux/macOS) or `%APPDATA%/adt-cli/` (Windows).\n\n#### `adt auth logout`\n\nClear stored authentication tokens.\n\n### Service Discovery\n\n#### `adt discovery [options]`\n\nList available ADT services and endpoints.\n\n| Option                | Description                                               |\n| --------------------- | --------------------------------------------------------- |\n| `-o, --output <file>` | Save output — `.xml` for raw XML, `.json` for parsed JSON |\n\n```bash\nadt discovery\nadt discovery -o services.json\n```\n\n### Package Import / Export\n\n#### `adt import package <packageName> [targetFolder] [options]`\n\nDownload an ABAP package from SAP to local files.\n\n| Option                       | Description                             |\n| ---------------------------- | --------------------------------------- |\n| `-o, --output <path>`        | Output directory                        |\n| `-t, --object-types <types>` | Comma-separated types, e.g. `CLAS,INTF` |\n| `--sub-packages`             | Include subpackages                     |\n| `--format <format>`          | `abapgit` (default)                     |\n| `--debug`                    | Debug output                            |\n\n```bash\nadt import package ZTEST_PKG\nadt import package ZTEST_PKG --object-types CLAS,INTF --format abapgit\n```\n\n#### `adt export package <packageName> [sourceFolder] [options]`\n\nDeploy local files to SAP.\n\n| Option                       | Description                        |\n| ---------------------------- | ---------------------------------- |\n| `-i, --input <path>`         | Input directory                    |\n| `-t, --object-types <types>` | Filter by type                     |\n| `--transport <request>`      | Transport request                  |\n| `--create`                   | Apply changes (default is dry run) |\n| `--debug`                    | Debug output                       |\n\n```bash\n# Dry run\nadt export package ZTEST_PKG ./abapgit-ztest_pkg\n\n# Deploy with transport\nadt export package ZTEST_PKG ./abapgit-ztest_pkg --create --transport NPLK900123\n```\n\n### Object Inspection\n\n#### `adt get <object> [options]`\n\nGet details about an ABAP object. Supported types: `CLAS`, `INTF`, `DEVC`.\n\n| Option                | Description                                      |\n| --------------------- | ------------------------------------------------ |\n| `--source`            | Show source code preview                         |\n| `--structure`         | Show object structure                            |\n| `--properties`        | Show package hierarchy and application component |\n| `--json`              | JSON output                                      |\n| `-o, --output <file>` | Save ADT XML to file                             |\n\n```bash\nadt get ZCL_MY_CLASS\nadt get ZCL_MY_CLASS --properties\nadt get ZCL_MY_CLASS -o tmp/class.xml\n```\n\n#### `adt outline <object>`\n\nShow object structure as a tree (methods, attributes, visibility).\n\n```\nℹ️  ZIF_MY_INTERFACE [interface]\n├─ 🟢  GET_DATA [public method]\n└─ 🔴  INTERNAL_HELPER [private method]\n```\n\n### Transport Requests\n\n`adt transport` has `adt tr` as an alias.\n\n#### `adt transport list [options]`\n\n| Option                  | Description                |\n| ----------------------- | -------------------------- |\n| `-u, --user <user>`     | Filter by user             |\n| `-s, --status <status>` | `modifiable` or `released` |\n| `-m, --max <n>`         | Max results (default: 50)  |\n\n#### `adt transport get <tr-number> [options]`\n\nGet details for a transport request or task.\n\n| Option    | Description          |\n| --------- | -------------------- |\n| `--tasks` | Include task details |\n| `--json`  | JSON output          |\n\n#### `adt transport create [options]`\n\n| Option                     | Description                                   |\n| -------------------------- | --------------------------------------------- |\n| `-d, --description <desc>` | Description (required)                        |\n| `-t, --type <type>`        | `K` (Workbench, default) or `W` (Customizing) |\n| `--target <target>`        | Target system (default: `LOCAL`)              |\n\n## Configuration\n\nCreate `adt.config.ts` in your project root for TypeScript configuration with full type checking:\n\n```typescript\nimport type { CliConfig } from '@abapify/adt-cli/config/interfaces';\n\nconst config: CliConfig = {\n  auth: {\n    type: 'btp',\n    btp: {\n      serviceKey: process.env.BTP_SERVICE_KEY_PATH || './service-key.json',\n    },\n  },\n  defaults: {\n    format: 'abapgit',\n    outputPath: './output',\n  },\n};\n\nexport default config;\n```\n\nYAML is also supported (`adt.config.yaml`).\n\n## Logging\n\n```bash\n# Set log level\nADT_LOG_LEVEL=debug adt discovery\n\n# Enable verbose mode\nadt transport list --verbose\n\n# Filter log components\nADT_LOG_COMPONENTS=auth,http adt auth login --file service-key.json\n```\n\nAvailable log levels: `trace`, `debug`, `info`, `warn`, `error`, `fatal`.\n\n## Command Reference\n\n| Command                             | Description                       |\n| ----------------------------------- | --------------------------------- |\n| `adt auth login --file <path>`      | Authenticate with BTP service key |\n| `adt auth logout`                   | Clear stored tokens               |\n| `adt discovery`                     | List available ADT services       |\n| `adt discovery -o file.json`        | Export services as JSON           |\n| `adt get <object>`                  | Get ABAP object details           |\n| `adt get <object> --properties`     | Show package and component info   |\n| `adt get <object> -o file.xml`      | Save ADT XML to file              |\n| `adt outline <object>`              | Show object tree structure        |\n| `adt import package <pkg>`          | Import package from SAP           |\n| `adt export package <pkg> --create` | Deploy files to SAP               |\n| `adt transport list`                | List transport requests           |\n| `adt transport get <TR>`            | Get transport or task details     |\n| `adt transport create -d \"DESC\"`    | Create new transport request      |\n\n## Architecture\n\n```\nadt-cli (Commander.js, plugin loader)\n  ├── adt-client   (HTTP + auth interceptor)\n  │     └── adt-contracts + adt-schemas\n  ├── adk          (ABAP object parsing)\n  ├── adt-auth     (session management)\n  └── plugins      (adt-atc, adt-export, adt-plugin-abapgit)\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}