Akan.js
Docs
DocsConventionsReferencesCheatsheet
Akan.js
DocsConventionsReferencesCheatsheet
Akan.js

Released under the MIT License

  • Official Akan.js Consulting onAkansoftCopyright © 2026 Akan.js All rights reserved.System managed bybassman
    YouBothAgent▾
    You — Business rules and flows you own. Read these yourself.
    Both — Know the idea; your agent follows the details.
    Agent — Conventions and references your agent follows. Look up as needed.
    CLI Reference▾
    CommandsWorkspaceApplicationLibraryModuleScalarPackagePagePrimitiveWorkflowQualityContextAgentGuideline
    AkanJS Reference▾
    akanjs/baseakanjs/commonakanjs/constantakanjs/fetchakanjs/signalakanjs/serverakanjs/clientakanjs/webkit
    UI Reference▾
    OverviewCoreDisplayFormsOverlaysSystemAgentCustomization
    YouBothAgent▾
    You — Business rules and flows you own. Read these yourself.
    Both — Know the idea; your agent follows the details.
    Agent — Conventions and references your agent follows. Look up as needed.
    CLI Reference▾
    CommandsWorkspaceApplicationLibraryModuleScalarPackagePagePrimitiveWorkflowQualityContextAgentGuideline
    AkanJS Reference▾
    akanjs/baseakanjs/commonakanjs/constantakanjs/fetchakanjs/signalakanjs/serverakanjs/clientakanjs/webkit
    UI Reference▾
    OverviewCoreDisplayFormsOverlaysSystemAgentCustomization
    NextCommands

    Tunnel CLI

    akan tunnel puts a public URL in front of the dev server on your laptop, for as long as you need it. No deployment is involved.
    Check on a Phone
    A designer opens the screen you just built on their own phone, right now.
    Receive a Webhook
    A payment provider's webhook reaches the handler you are still editing.
    Usually you need this while running the app anyway, so akan start --share opens the share with the session. akan tunnel is the standalone form: it shares an app that is already running and does nothing else. See which one to use.
    Words Used on This Page
    TermDescription
    share
    One local app connected to a public URL. It has a code, a URL and an expiry.
    code
    The short name of a share. --stop takes it.
    Akan Cloud
    The server that issues public hostnames and tracks shares. akan login signs in to it.
    TTL
    How long a share lives before it expires on its own.

    tunnel

    Share an app running on this machine on a public URL. The connection runs inside this command, so nothing needs installing before the URL appears. The share lives as long as the command does: Ctrl-C ends it and hands the address back.
    Signature
    Arguments
    appString
    App to share. Taken as is when there is only one app, and picked from a list when there are several.
    Options
    --listBooleandefault false
    List this account's shares with connection state, code, URL, app name and expiry, then exit.
    --stopString

    Share Or Tunnel

    Both open the same kind of share on the same Akan Cloud. What differs is which process holds it, and so when it ends.
    Aspectakan start --shareakan tunnel
    SharesEvery app the session bootsOne app that is already running
    Ends whenThe dev session endsYou stop the command
    PortThe app's dev portThe dev port, or any port with --port
    ExpiryAkan Cloud's default--ttl minutes, or Akan Cloud's default
    Akan Cloud

    On this page

    Tunnel CLI
    tunnel
    Share Or Tunnel
    Anyone with the URL reaches your whole dev server. That is every route under page/, the API prefix, the websocket, and /mcp if the app mounts it, with nothing in front. Give it a --ttl, stop it when the call ends, and never share a session signed in to production data.
    default ""
    Revoke the share with this code, then exit.
    --hostStringdefault https://cloud.akanjs.com
    Akan Cloud to use. In the framework repo (USE_AKANJS_PKGS=true) it is http://localhost:8283.
    --portNumbernullable
    Local port to share. Unset, it is the dev port akan start gives this app.
    --ttlNumbernullable
    Minutes until the share expires on its own. Unset, Akan Cloud decides.
    Notes
    NameDescription
    URL
    Printed with its expiry and an akan tunnel --stop <code> line, and copied to the clipboard.
    Ctrl-C
    The first one hands the hostname back. A second exits at once, and the share expires on its TTL.
    reconnect
    A dropped link is reported and reconnected. The share stays open.
    before the app
    The share can open before the app listens. Requests are refused until the port opens.
    account
    A share belongs to the account akan login signed in to on that --host. --list shows them.
    --list · --stop
    Examples
    The default address
    The default address, or the one given to --host
    Finding the URLShown in the view's header and copied with s, or printed under --plainPrinted and copied to the clipboard
    If it failsThe error is printed and the session starts anywayThe command exits with the error
    • s in the full-screen view. It copies the selected app's public URL, or every app's from the all apps row.
    • The header. The view shows the public URL ahead of the local one.
    • When akan tunnel fits. Open it in a second terminal for an app started without --share, or for a port that is not the dev port. Stopping it leaves the dev server alone.
    akan start→
    Dev session options such as the full-screen view, --kill and --concurrency.
    akan login→
    Sign in to Akan Cloud. Shares belong to this account.
    Neither asks for an app. They act on the account's shares.
    not a deployment
    Requests reach the dev server as they are. No auth, cache or build step is added in front.