Akinon Release Notes (05/12/2025) are now live! Click here to learn what's new.
LogoLogo
API Reference
  • Home
  • Quick Start
  • Tutorials
  • Technical Guides
  • Release Notes
  • Glossary
  • Welcome to Akinon Technical Guides
  • ACC
    • ACC CLI
    • Create Application via CLI
    • Deploy Environment Variables
    • App Store for Developers
  • Omnitron
    • Product Types
    • Product Categorization
    • Splitting a Merged Order Item
  • Commerce
    • Shipping Rules Calculator
    • Data Source Shipping Options
    • Attribute Based Shipping Options
    • Filtering Products
    • Conversation & Messages
    • Sitemap Configuration
    • Weight-Based Product Sales
    • Group Attribute Sets
    • Contract Management
    • Find in Store for Whippy Ware
    • Plugins
    • Remote Price
    • E-mail Templates
    • Loyalty Accounts
    • Search Structure
    • User Segmentation & Rules
    • Promotions
  • OMS
    • Getting Started with OMS
    • Basic Setup
    • Scenarios
    • Capacity Feature
    • Package Management
      • Packages
      • Transfer
      • States
    • Commands
      • Packages
        • Package Command Parameters
        • DeAllocate Package Reservations Command
        • Channel Based Complete Packaging without Shipment Command
        • Complete Packaging with Shipment Command
        • Complete Packaging without Shipment Command
        • Package Refuse with Denial Reason Command
        • Product Not Found & Wrong Product Command
        • Product Not Found & Wrong Product Command Advanced
        • Package Packed for Refund Command
        • Block The Package For Action Command
        • Unblock the Package For Action Command
        • Update The Package’s Invoice
        • Manual Planning Command
      • Transfer
        • Transfer Order Advanced Command
        • Product for Transfer Not Found & Wrong Product Command
        • Transfer Delivered Command
        • Transfer Dispatch Command
        • Transfer Ready for Dispatch Command
        • Transfer Out Of Stock
      • Shipment
        • Shipment Order Command
        • Package Advanced Shipment Command
        • Ship The Package Command
        • Ship The Package without Shipment Integration Command
        • Update The Package’s Shipment Status Command
        • Update Shipment Info of Package Command
    • Inventory Locations & Engine
      • Properties & Domain Relation
      • Customization
      • Inventory Engine
    • Fulfillment
      • Shipments
      • Invoice Integration
    • Webhooks
      • Webhook Examples
        • Order Webhook
        • Package Webhook
        • Shipment Webhook
        • Stock Location Webhook
        • Transfer Webhook
    • Integrating OMS with Seller Center
  • Instore
    • Getting Started
    • Cash Register Integration
    • OTP (One Time Password) Process
    • Services
      • Password Reset Services
  • Marketplace Dashboard
    • N11 Marketplace Setup Configurations
    • Trendyol Marketplace Setup Configurations
    • Walmart Marketplace Setup Configurations
    • Amazon Marketplace Setup Configurations
    • Hepsiburada Marketplace Setup Configurations
  • Project Zero
    • Django
      • Basic Setup
      • Project Structure
        • Templates & Components
        • Private Dependencies
        • Omnife Project Submodule
        • Webpack
        • ESLint Rules
        • Bundles
        • Multilanguage & Translation
        • Environmental File
        • Custom Error Pages
        • Icon Font
      • Page Types
        • Static Pages & Flatpages
        • Account Page
          • Template Rendering in Account Pages
          • Forms & Validation
        • Basket Page
          • Redux Basket State
          • Basket Page - View
        • Checkout
          • Redux Checkout State
          • View & Template Rendering
          • Masking & Validation
      • Theming & Styling
      • Widgets
      • SEO Management
      • Extending Project Zero
    • Next.js
      • Basic Setup
      • Deployment
      • Static Assets
      • Plugins
      • Widgets
      • Icons
      • Localization
      • SEO Management
      • Advanced Usage
      • Data Fetching
        • Client
          • Account
          • Address
          • Basket
          • Checkout
          • Misc
          • Product
          • User
          • Wishlist
        • Server
          • Category
          • Flat Page
          • List
          • Menu
          • Product
          • SEO
          • Special Page
          • Widget
  • App Maker
    • Setup Your Environment
    • Plugin Quickstart
    • Create Project
    • Setup Existing Project
    • Deploy Project
    • Users and Roles
    • Add Public Key
    • App Maker CLI
    • Create App on Stores
      • Creating App on Apple App Store
      • Creating App on Google Play Store
    • Mobile App Framework
      • Configuration
      • Framework
      • Project Structure
        • Structure
        • Data Containers
        • Pages
      • Dependency Integration
        • Plugins
        • Akinon Plugin Adapter
  • Akifast
    • HPP
      • Getting Started
      • Authorization
      • Payment Session Creation
        • Key Points Before Creating a Payment Session
        • Creating Payment Session
        • Redirecting to the Payment Page
        • Errors Encountered During Payment Session Creation
      • Merchant Services
        • Shipping Query URL
        • Agreement Query URL
        • Other URLs
  • B2B
    • Getting Started
    • B2B Setup
  • Adds-on
    • Invoicer
      • Introduction
      • Invoice & Pay On Delivery Service
  • Channel App Template
    • Introduction
    • Installation and Usage
    • Development Steps
      • Folder Structure
      • Starting Step
      • Encoding the Sales Channel
        • Introduction
        • Setup
        • Products
        • Product Price
        • Product Stock
        • Product Image
        • Orders
        • Product Data
      • Adding a New Command to Akinon
      • Listening for External Requests
    • Architecture
      • Introduction
      • Integration
      • Services (Flows)
        • Introduction
        • Product Service
        • Price Service
        • Stock Service
        • Image Service
        • Order Service
  • Multi Regional Settings
    • Multi Regional Settings
Powered by GitBook

© 2025 Akinon. All rights reserved.

On this page
  • Installation
  • Publishing Project
  • Command List
  • login
  • logout
  • project create
  • project install
  • project run <platform>
  • project upgrade
  • Upgrading Project
  • project info
  • project diff <platform>
  • project reset <platform>
  • plugin add <name>
  • Installing Plugins with a Specific Version
  • plugin create
  • plugin pack
  • plugin publish
  • plugin preview <platform>
  • plugin run <platform>
  • config show
  • config pm
  • plugin publish
  • publickey add
  • publickey list
  • publickey remove
  • git connect
  • git check
  • git disconnect

Was this helpful?

  1. App Maker

App Maker CLI

CLI streamlines the process of setting up applications in a local development environment and facilitates the seamless deployment of post-development modifications on the platform. With just a few straightforward steps, users can easily configure new projects or work on existing ones.

Installation

Below is the command to install the CLI:

$ curl -s https://abp.akinon.net/api/public/cli.sh | bash

Publishing Project

All processes, except for the Env. version, remain the same. Instead of specifying the Env. version, you will now need to input tags into the form for the Akinon repository.

To ensure accurate deployment, it's crucial to tag both the environment version and the project package thoroughly. For example, consider this format: v2.3.2 represents the environment version, while -build.1 signifies the steadily build number for the project package. This approach aligns well with semantic versioning principles.

The tagging process is carried out as follows:

Desired changes that need to be sent are added to the git stage either individually or in bulk. Below, an explanation of the bulk submission method is provided.

git add.
git commit -m "new feature"

A tag is assigned for deployment:

git tag <tag>

There is no predefined structure for the tag format. You have the flexibility to define it according to your own development practices.

Finally, the tagged changes are pushed to the repository:

git push akinon main --tags

Command List

The following are the primary commands of the tool that act as a wizard during development processes:

Command
Action

login

Log in to the App Maker platform.

logout

Log out from the App Maker platform.

project --help

Access project-specific commands.

project create

Create a new project using the default template.

project install

Perform a native installation for an existing project.

project upgrade

Upgrade the current environment version of the project to a new one.

project info

Display the meta information of the project.

project run <platform>

Run the application on a specific platform.

project diff <platform>

View changes in the native environment.

project reset <platform>

Undo changes made in the native environment of the project.

plugin --help

Access plugin-specific commands.

plugin add <name>

Add a plugin to the project. Remember to run project install afterward.

plugin create

Create boilerplate code to develop a plugin.

plugin pack

Package a plugin for publishing on App Maker.

plugin publish

Publishes a plugin on App Maker.

plugin preview

Preview the potential effects of native configurations.

plugin run

Apply changes permanently.

config pm

Change the package manager (yarn, npm).

config show

Display config details for App Maker.

git connect

Connect to your git repository.

git disconnect

Disconnect from your git repository.

git check

Check your git configs.

publickey add

Add a public key to access the repositories.

publickey list

Display a list of your public keys.

publickey remove

Remove one of your public keys.


login

Log in to the App Maker platform.

Example

$ appmaker login

logout

Safely log out of the CLI.

Example

$ appmaker logout

project create

Creates a new project within the current directory, using the default App Maker template.

Example:

$ appmaker project create

To deploy this new application, it needs to be published on the platform.

Options

Name
Type
Description

--platform

array

This specifies the target platform(s) to be built. (ios, android, huawei)

If no platform is specified, the default platform will be set to ios and android.

Example:

$ appmaker project create --platform android ios

OR

$ appmaker project create --platform huawei

project install

Performs a native setup on the application's project package, allowing the application to run.

Example

$ cd example-project-package
$ appmaker project install

Options

Name
Type
Description

--exclude-plugins

boolean

Excludes previously added plugins from being used within the project.

--platform

array

This specifies the target platform(s) to be built. (ios, android, huawei)

If no platform is specified, the default platform will be set to ios and android.

Example

$ appmaker project install --exclude-plugins

project run <platform>

Runs the application on a desired platform.

Example:

$ cd example-app
$ appmaker project run android

Platforms

Name
Description

ios

Run the project on iOS.

android

Runs the project on Android.

start

Runs the development server.


project upgrade

Upgrades the project's current environment version to a newer one.

Example:

$ cd example-app
$ appmaker project upgrade

Options

Name
Type
Description

--platform

array

This specifies the target platform(s) to be built. (ios, android, huawei)

If no platform is specified, the default platform will be set to ios and android.

Upgrading Project

When the command is run, it performs a version check by referencing the value in the "envVersion" field within the akinon.json file. Regardless of whether the application has been published or not, the command proceeds to complete the process based on the following rules:

  • If there is no new version available, the command concludes by displaying a message indicating that the application is up-to-date.

  • If a new version is available;

    • If the published version is on the level of minor (v0.*.0) or minor (v0.0.*), the project automatically initiates the upgrading process.

    • If the published version is on the level of major (v*.0.0), the process continues in an interactive manner.


project info

Displays the meta information of the project.

Example

$ cd example-app
$ appmaker project info

project diff <platform>

Displays the differences in the project's native environment, presented in a before/after format.

Users have the option to undo these changes using the project reset command.

Example

$ cd example-app
$ appmaker project diff ios

Sample Output

--- a/Info.plist
+++ b/Info.plist
@@ -60,6 +60,6 @@
        <key>UIViewControllerBasedStatusBarAppearance</key>
        <false/>
        <key>UIUserInterfaceStyle</key>
-       <string>Light</string>
+       <string>Dark</string>
 </dict>
 </plist>

This feature can only be used on the iOS platform.


project reset <platform>

Reverts the changes made in the native environment of the project.

$ cd example-app
$ appmaker project reset ios

This feature can only be used on the iOS platform.


plugin add <name>

Adds a ready-to-use plugin to the project (akinon.json). Once the plugin information is added, execute the command appmaker project install to automatically install the required JavaScript and native dependencies for the plugin. (It's important to note that the project install command needs to be manually triggered to complete the installation process.)

Example

$ cd example-app
$ appmaker plugin add example-plugin

akinon.json:

{
  ...
  "plugins": {
    "example-plugin": {
      "version": "0.0.1", --> sample version
      "name": "example-plugin",
      "moduleName": "ExamplePlugin",
      "config": {}
    }
  }
  ...
}

If no specific version is mentioned in the command, the latest version number of the plugin will be added.

After that, run the command below:

$ appmaker project install

Installing Plugins with a Specific Version

If a user wants to install a specific version of a plugin in their project, they need to follow this method:

$ appmaker plugin add example-plugin@1.2.3

akinon.json

{
  ...
  "plugins": {
    "example-plugin": {
      "version": "1.2.3",
      ...
    }
  }
  ...
}

The user can specify one part of the version (e.g., 1.2) during installation, and the installation process will automatically fetch and install the latest version for the remaining parts.

Example:

Let's assume the user wants to install the following versions of the plugin:

2.0.5
1.3.4
1.3.5
1.4.0
0.2.3

If the user wants to install the latest version (1.3.5) from those starting with 1.3.*:

$ appmaker plugin add example-plugin@1.3

akinon.json

{
  ...
  "plugins": {
    "example-plugin": {
      "version": "1.3.5",
      ...
    }
  }
  ...
}

Or, to install the latest version that starts with 1.*.*:

$ appmaker plugin add example-plugin@1

akinon.json

{
  ...
  "plugins": {
    "example-plugin": {
      "version": "1.4.0",
      ...
    }
  }
  ...
}

Afterward, the following command needs to be run.

$ appmaker project install

plugin create

Sets up plugin-boilerplate under the .plugins/ directory in order to develop a plugin from scratch.

Example

$ cd example-app
$ appmaker plugin create
$ ? Enter plugin name: my-first-plugin

The plugin create command works differently from the project add command. To use a previously created plugin within a project, it needs to be added separately using the project add command.


plugin pack

Packs the plugin in a ready-to-publish manner and includes it in the root directory of the related plugin.

Example

$ cd example-app/.plugins/my-first-plugin
$ appmaker plugin pack

SemVer Options

Name
Description

--major

Major (1.3.4 -> 2.0.0)

--minor

Minor (0.1.1 -> 0.2.0)

--patch

Patch (0.0.1 -> 0.0.2)

Example

Assuming the current version is "0.0.1," when you run the following command:

$ appmaker plugin pack --patch

The output for the "example-app/.plugins/my-first-plugin/" directory will be as follows:

- my-first-plugin-0.0.2.tgz (npm)
- my-first-plugin-v0.0.2.tgz (yarn)

Each specified option will be applied to the "version" field of the package.json file.


plugin publish

Uploads a packaged plugin to App Maker. Before publishing, the plugin needs to be packed using the "appmaker plugin pack" command.

Once a plugin is successfully published, the packaged version is deleted from the system.

Example

$ cd example-app/.plugins/my-first-plugin
$ appmaker plugin publish

If a README.md file exists in the plugin's root directory, its contents will be automatically submitted to the platform along with the plugin during the publishing process.

Plugin Publication Location

Published plugins are stored in the account of the organization to which you are connected on App Maker. To access all published plugins, users can visit App Maker and click on Organization > Dependency Management.

Plugin Access Permissions

All plugins are only accessible to the organization they are linked with. Other organizations cannot access or use these published plugins.


plugin preview <platform>

Allows to preview the potential impacts of native configurations ("ios", "android" and "huawei") made during the development of a plugin without affecting the default version.

Example

$ cd example-app
$ appmaker plugin preview ios
$ appmaker plugin preview android
$ appmaker plugin preview huawei

plugin run <platform>

Permanently applies the changes from the output of the preview command to the project. It effectively sets up the plugin within the project, making it ready for the build process.

Example

$ cd example-app
$ appmaker plugin run ios
$ appmaker plugin run android
$ appmaker plugin run huawei

config show

Displays the global config information.

Example:

$ appmaker config show

config pm

Changes your package manager. It shows list of package managers (yarn, npm)

Example:

$ appmaker publickey list

plugin publish

Enables users to upload a packaged plugin to App Maker. Prior to publishing a plugin, it must be packed using the "appmaker plugin pack" command.

Once successfully published, the packaged version of the plugin is automatically deleted from the system. A readme file will be automatically included and packaged along with the plugin's own files.


publickey add

This command initiates a prompt requesting the user to select an SSH public key that generated before in the ~/.ssh/ directory. It expects a valid SSH Public Key to be provided, and an error will occur if one is not entered.

Users can only add up to 5 SSH Public Keys.

Example:

$ appmaker publickey add

publickey list

Displays a table listing the SSH Public Keys.

Example:

$ appmaker publickey list

publickey remove

Displays a list of the user's SSH keys, and the user can select and delete a key of their choice.

If the user does not have any SSH public keys, the program will display an error message.

Example:

$ appmaker publickey remove

git connect

This command facilitates the interactive connection of a project to a managed git repository hosted on amazon-codecommit. It assists in configuring necessary settings, including SSH keys, repository details, and more.

Example:

$ appmaker git connect

You can also connect multiple public keys to a single project in your local environment.


git check

Performs the following checks:

  • Is CodeCommit's host information added to the SSH Config file?

  • Is CodeCommit host information added to the SSH known_hosts file?

If run from within the project, it also verifies the following:

  • Has git init been used for the project?

  • Have Akinon remote URLs been added?

If everything is in order, it will display:

Everything is OK!

If not, it will display:

Please run the "git connect" command.

Example:

$ appmaker git check

git disconnect

This command facilitates the interactive disconnection of a project from a managed git repository. It performs the following actions:

  • Deletes specific GIT configurations.

If executed from within the project, it also:

  • Deletes the Akinon repository's remote URL.

As a result, the following message will be displayed:

Project and system disconnected from the managed git repository.

Example:

$ appmaker git disconnect
PreviousAdd Public KeyNextCreate App on Stores

Last updated 16 days ago

Was this helpful?

To specify a new version before packaging, users can use the options that correspond to practices of .

semantic version