Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
4690062
feat: add sdk publish command and its flags
Ayeshas09 Mar 13, 2026
3a614c2
feat: add interactive and non-interactive action classes
aliasghar98 Mar 16, 2026
9884975
chore: remove comments and todos
aliasghar98 Mar 17, 2026
4a2f5be
feat: add non-interactive flow and infra classes
aliasghar98 Mar 25, 2026
5349691
feat: add command to fetch list of publishing profiles
sohail2721 Mar 26, 2026
5c2c0d0
fix formatting
sohail2721 Mar 26, 2026
ae269fa
refactor and update design
sohail2721 Mar 26, 2026
b12a1b9
feat: add interactive mode
aliasghar98 Mar 26, 2026
ac36f48
Merge branch 'ayeshas09/feat-sdk-publish-command' of github.com:apima…
aliasghar98 Mar 26, 2026
f193a74
fix: interactive mode for single language only
aliasghar98 Mar 26, 2026
be2073f
chore: replace baseUrl
aliasghar98 Mar 26, 2026
1735587
fix: update go config item for publishing profile
aliasghar98 Mar 27, 2026
47c8bec
fix: create package configuration object when writing config
aliasghar98 Mar 29, 2026
34097ed
fix: remove swift package config
aliasghar98 Mar 29, 2026
e66c7a4
feat: create package configuration dtos
aliasghar98 Mar 29, 2026
8ef035d
fix: removed unnecessary tracking events and created single validatio…
aliasghar98 Mar 29, 2026
a89c393
fix: error handling for sdk publishing endpoint error responses
aliasghar98 Mar 29, 2026
4bd9dbc
feat: pass package version for sdk generation
aliasghar98 Mar 29, 2026
6353d20
fix: remove telemetry from publish command
aliasghar98 Mar 29, 2026
cd603f2
fix: resolve all issues for non interactive flow and improve validati…
aliasghar98 Mar 29, 2026
716270e
fix: resolved interactive mode issues and improved messaging
aliasghar98 Mar 29, 2026
5982666
refactor: improved messaging and reordered prompts class and methods
aliasghar98 Mar 29, 2026
20520e1
fix: minor fixes
aliasghar98 Mar 29, 2026
0afa7f3
fix: improve messaging
aliasghar98 Mar 29, 2026
0159c59
docs: update readme
aliasghar98 Mar 29, 2026
9c9bf47
Merge branch 'dev' into ayeshas09/feat-sdk-publish-command
aliasghar98 Mar 29, 2026
151225d
refactor: move tracking to command layer via callback function
aliasghar98 Mar 30, 2026
a5c887e
fix: add validation for semantic version
aliasghar98 Mar 30, 2026
f17c0d1
fix: add validation for build and sdk directories
aliasghar98 Mar 30, 2026
c59b9fc
fix: return action result cancelled if sdk generation cancelled
aliasghar98 Mar 30, 2026
6aaed50
fix: make publish type required and add new enum field called both
aliasghar98 Mar 30, 2026
38f7999
fix: reject pre release versions
aliasghar98 Mar 31, 2026
b1e518a
fix: update messaging for source code only publishing and semantic ve…
aliasghar98 Mar 31, 2026
891955e
fix: update readme to include publish type both
aliasghar98 Mar 31, 2026
0cb1c58
fix: update examples to reflect publish type
aliasghar98 Mar 31, 2026
94dbe5f
fix: remove sdk context validation
aliasghar98 Mar 31, 2026
438eae7
fix: add is cancelled check for sdk generation
aliasghar98 Mar 31, 2026
c76b0a6
chore: add saeedjamshaid as code owner
aliasghar98 Mar 31, 2026
4db0e32
chore: add Shield-Jaguar and aliasghar98 to code owners
aliasghar98 Mar 31, 2026
d381ef1
feat: add polling for non interactive publishing
aliasghar98 Apr 1, 2026
ba4dbed
fix: remove interactive flag
aliasghar98 Apr 1, 2026
86d8cd7
fix: rename profile flag to profile-id and other minor messaging impr…
aliasghar98 Apr 1, 2026
6ab7cb0
fix: messaging improvements
aliasghar98 Apr 1, 2026
abf3179
fix: removed go from languages
aliasghar98 Apr 1, 2026
b579a9d
fix: messaging improvement
aliasghar98 Apr 1, 2026
379dfd5
fix: keep unzipped sdk at destination, and zip the contents in a temp…
aliasghar98 Apr 2, 2026
e79ea16
feat: open temp sdk directory when dry run flag is enabled
aliasghar98 Apr 2, 2026
316c79e
fix: remove 'both' as publish-type and accept multiple values for pub…
aliasghar98 Apr 2, 2026
c3c8200
fix: improve description to clearly distinguish interactive and non-i…
aliasghar98 Apr 2, 2026
90a73db
feat: update npm dependencies (#263)
sohail2721 Apr 2, 2026
5bc6937
feat: add api group information to interactive mode and publishing pr…
aliasghar98 Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @saeedjamshaid @Shield-Jaguar @aliasghar98
66 changes: 65 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ $ npm install -g @apimatic/cli
$ apimatic COMMAND
running command...
$ apimatic (--version)
@apimatic/cli/1.1.0-beta.8 win32-x64 node-v23.4.0
@apimatic/cli/1.1.0-beta.11 win32-x64 node-v23.4.0
$ apimatic --help [COMMAND]
USAGE
$ apimatic COMMAND
Expand All @@ -46,8 +46,10 @@ USAGE
* [`apimatic portal recipe new`](#apimatic-portal-recipe-new)
* [`apimatic portal serve`](#apimatic-portal-serve)
* [`apimatic portal toc new`](#apimatic-portal-toc-new)
* [`apimatic publishing profile list`](#apimatic-publishing-profile-list)
* [`apimatic quickstart`](#apimatic-quickstart)
* [`apimatic sdk generate`](#apimatic-sdk-generate)
* [`apimatic sdk publish`](#apimatic-sdk-publish)

## `apimatic api transform`

Expand Down Expand Up @@ -386,6 +388,25 @@ EXAMPLES

_See code: [src/commands/portal/toc/new.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/portal/toc/new.ts)_

## `apimatic publishing profile list`

List all publishing profiles

```
USAGE
$ apimatic publishing profile list

DESCRIPTION
List all publishing profiles

Display all publishing profiles associated with your account, including each profile's name, ID and enabled languages.

EXAMPLES
apimatic publishing profile list
```

_See code: [src/commands/publishing/profile/list.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/publishing/profile/list.ts)_

## `apimatic quickstart`

Create your first SDK or API Portal using APIMatic.
Expand Down Expand Up @@ -440,4 +461,47 @@ EXAMPLES
```

_See code: [src/commands/sdk/generate.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/sdk/generate.ts)_

## `apimatic sdk publish`

Generate and publish an SDK to a package registry or source repository

```
USAGE
$ apimatic sdk publish [-i] [-p <value>] [-v <value>] [-d <value>] [-l
csharp|java|php|python|ruby|typescript|go] [-f] [-i <value>] [--publish-type package|sourcecode|both] [--dry-run]

FLAGS
-d, --destination=<value> [default: <input>/sdk] path where the sdk will be generated.
-f, --force overwrite changes without asking for user consent.
-i, --input=<value> [default: ./] path to the parent directory containing the 'src' directory, which includes
API specifications and configuration files.
-i, --interactive Launch interactive mode for a guided SDK publishing experience.
-l, --language=<option> Language to generate and publish the SDK for.
<options: csharp|java|php|python|ruby|typescript|go>
-p, --profile=<value> ID of the publishing profile to use.
-v, --version=<value> Semantic version of the SDK to be generated and published.
--dry-run Generate the SDK without publishing. Useful for reviewing generated SDK before
publishing. Not applicable to interactive mode.
--publish-type=<option> Publishing target: 'package' for a package registry, 'sourcecode' for a git repository,
or 'both' for both publishing options.
<options: package|sourcecode|both>

DESCRIPTION
Generate and publish an SDK to a package registry or source repository

Generate and publish an SDK using your API spec and a publishing profile. Requires an input directory containing the
API specification. Supports interactive mode for guided publishing and non-interactive mode for CI/CD automation.

EXAMPLES
apimatic sdk publish --interactive

apimatic sdk publish --profile=prof-123 --language=typescript --version=1.0.0 --publish-type=both

apimatic sdk publish --profile=prof-123 --language=java --version=2.0.0 --publish-type=sourcecode

apimatic sdk publish --profile=prof-123 --language=python --version=1.0.0 --publish-type=package --dry-run
```

_See code: [src/commands/sdk/publish.ts](https://github.com/apimatic/apimatic-cli/blob/beta/src/commands/sdk/publish.ts)_
<!-- commandsstop -->
Loading
Loading