# Arkain Guides

This document is for all users of Arkain. Get familiar with Arkain and learn how to code faster with AI.

Non-developers may benefit from reading this document from start to finish, but you can also refer to specific sections as needed.

***

## User Guide

<table data-card-size="large" data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="/pages/4kyJwVEbeugEbqay0Uft"><strong>Dashboard</strong></a></td><td>Share your docs online</td><td><a href="/files/g1zAV4IAwETBDLUzQ4GR">/files/g1zAV4IAwETBDLUzQ4GR</a></td><td></td><td><a href="/pages/4kyJwVEbeugEbqay0Uft">/pages/4kyJwVEbeugEbqay0Uft</a></td></tr><tr><td><a href="/pages/suRSXpvFI7hkUzYRuBqa"><strong>Workspace</strong></a></td><td>What is Arkain?</td><td><a href="/files/HCLDD4B3vDl62Ic1a2ie">/files/HCLDD4B3vDl62Ic1a2ie</a></td><td></td><td><a href="/pages/suRSXpvFI7hkUzYRuBqa">/pages/suRSXpvFI7hkUzYRuBqa</a></td></tr><tr><td><a href="/pages/XiuZHgpWz6sqsxXuPKyC"><strong>Arkain AI</strong></a></td><td></td><td><a href="/files/OUod79HNbN3b5Y9iRdz9">/files/OUod79HNbN3b5Y9iRdz9</a></td><td></td><td><a href="/pages/XiuZHgpWz6sqsxXuPKyC">/pages/XiuZHgpWz6sqsxXuPKyC</a></td></tr><tr><td><a href="/pages/90tQJ7JGMQULid6GFnL4"><strong>Templates</strong></a></td><td>Learn the basics of GitBook</td><td><a href="/files/HfRfkJWM8QvYXLZDyFt3">/files/HfRfkJWM8QvYXLZDyFt3</a></td><td></td><td><a href="/pages/90tQJ7JGMQULid6GFnL4">/pages/90tQJ7JGMQULid6GFnL4</a></td></tr></tbody></table>

<table data-view="cards" data-full-width="false"><thead><tr><th></th><th data-hidden></th><th data-hidden data-card-cover data-type="image">Cover image</th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="/pages/AVrNCJneXZJ0FJDkm4H1"><strong>Notice</strong></a></td><td></td><td><a href="/files/SARRfCCaAnYz4acNqzDC">/files/SARRfCCaAnYz4acNqzDC</a></td><td></td><td><a href="/pages/AVrNCJneXZJ0FJDkm4H1">/pages/AVrNCJneXZJ0FJDkm4H1</a></td></tr><tr><td><a href="/pages/IjeBOW3JJjeASXlSdm1l"><strong>Credit and Membership</strong></a></td><td>Learn the basics of GitBook</td><td><a href="/files/aKR1Qksbzan6nNvEv2aj">/files/aKR1Qksbzan6nNvEv2aj</a></td><td></td><td><a href="/pages/IjeBOW3JJjeASXlSdm1l">/pages/IjeBOW3JJjeASXlSdm1l</a></td></tr><tr><td><a href="/pages/y5XFP1cb8GSytF8YdTPc"><strong>FAQ</strong></a></td><td></td><td><a href="/files/ePezAFtsGB8Ko7DqaLvP">/files/ePezAFtsGB8Ko7DqaLvP</a></td><td></td><td><a href="/pages/EafMHp1l1GnLHWiyVdrQ">/pages/EafMHp1l1GnLHWiyVdrQ</a></td></tr><tr><td><a href="/pages/sqOnflw4DEsuMzZ2MhuV"><strong>Release Note</strong></a></td><td></td><td><a href="/files/vVfkaCAZri4GuU17kLUU">/files/vVfkaCAZri4GuU17kLUU</a></td><td></td><td><a href="/pages/HlZ5nH5b0ccItLU2YJXf">/pages/HlZ5nH5b0ccItLU2YJXf</a></td></tr><tr><td><a href="https://arkain.channel.io/home"><strong>Contact us</strong></a></td><td></td><td><a href="/files/vsCl2bNt5bpdtQ8NLTNG">/files/vsCl2bNt5bpdtQ8NLTNG</a></td><td></td><td><a href="https://arkain.channel.io/home">https://arkain.channel.io/home</a></td></tr></tbody></table>

{% hint style="info" %}
You can use the **search and question feature** in the top-right corner to get faster answers.
{% endhint %}


# Notice

{% content-ref url="/pages/jtJ9LYuspvjbjJvjbGqn" %}
[(Jun 23, 2026) Update to Privacy Policy on June 30](/notice/view/jun-23-2026-update-to-privacy-policy-on-june-30)
{% endcontent-ref %}

{% content-ref url="/pages/AiY9krBiVUdAubumT3Fx" %}
[(Jun 8, 2026) Notice of Region Closure (Oregon, Frankfurt, Mumbai) and Container Migration on Jun 18](/notice/view/jun-8-2026-notice-of-region-closure-oregon-frankfurt-mumbai-and-container-migration-on-jun-18)
{% endcontent-ref %}

{% content-ref url="/pages/9I23LSkLS3M39ot6BGx9" %}
[(May 22, 2026) Update to Privacy Policy on May 29](/notice/view/may-22-2026-update-to-privacy-policy-on-may-29)
{% endcontent-ref %}

{% content-ref url="/pages/VN2N5QRCH9OvcDLONBnH" %}
[(Apr 17, 2026)  Now Live: Build with AI Agent & Notion Integration](/notice/view/apr-17-2026-now-live-build-with-ai-agent-and-notion-integration)
{% endcontent-ref %}

{% content-ref url="/pages/F0KZVwUXiy3fMcGcqV9I" %}
[(Apr 15, 2026) Scheduled maintenance on Apr 16](/notice/view/apr-15-2026-scheduled-maintenance-on-apr-16)
{% endcontent-ref %}

{% content-ref url="/pages/AnOqwfnsm5KKABy7AEHy" %}
[(Mar 5, 2026) Service Restoration: Brief Login Service Disruption](/notice/view/mar-5-2026-service-restoration-brief-login-service-disruption)
{% endcontent-ref %}

{% content-ref url="/pages/AnOqwfnsm5KKABy7AEHy" %}
[(Mar 5, 2026) Service Restoration: Brief Login Service Disruption](/notice/view/mar-5-2026-service-restoration-brief-login-service-disruption)
{% endcontent-ref %}

{% content-ref url="/pages/3gBK8jbhokEmbs4pOFjL" %}
[(Mar 4, 2026) Container Spec Optimization & New XLarge Performance Launch on Mar 10](/notice/view/mar-4-2026-container-spec-optimization-and-new-xlarge-performance-launch-on-mar-10)
{% endcontent-ref %}

{% content-ref url="/pages/2Un7EyNPKZZoOkt2qWvQ" %}
[(Mar 3, 2026) Notice of System Optimization on Mar 5](/notice/view/mar-3-2026-notice-of-system-optimization-on-mar-5)
{% endcontent-ref %}

{% content-ref url="/pages/DhoX6pthpiBjyUJVYWx7" %}
[(Feb 5, 2026) Update to Privacy Policy on Feb 12](/notice/view/feb-5-2026-update-to-privacy-policy-on-feb-12)
{% endcontent-ref %}

{% content-ref url="/pages/MxriEaUmtvHyZS0rlRtG" %}
[(Jan 30, 2026) Service Outage in Seoul Region and Restoration](/notice/view/jan-30-2026-service-outage-in-seoul-region-and-restoration)
{% endcontent-ref %}

{% content-ref url="/pages/JV2itAjS9Y1eiff1xmCv" %}
[(Dec 3, 2025) Update to Terms of Service and Privacy Policy on Jan 2, 2026](/notice/view/dec-3-2025-update-to-terms-of-service-and-privacy-policy-on-jan-2-2026)
{% endcontent-ref %}

{% content-ref url="/pages/LqGetPJyjOO58ecmUVy1" %}
[(Nov 19, 2025) Service Outage and Restoration on Nov 18](/notice/view/nov-19-2025-service-outage-and-restoration-on-nov-18)
{% endcontent-ref %}

{% content-ref url="/pages/FMC21XeFCQNg2T1HWTn2" %}
[(Nov 17, 2025) GPU Container Policy Update on Nov 24](/notice/view/nov-17-2025-gpu-container-policy-update-on-nov-24)
{% endcontent-ref %}

{% content-ref url="/pages/EiUyeyXqeR7P41rfidN8" %}
[(Jul 8, 2025) Scheduled maintenance on Jul 11](/notice/view/jul-8-2025-scheduled-maintenance-on-jul-11)
{% endcontent-ref %}


# (Jun 23, 2026) Update to Privacy Policy on June 30

2026-06-23

Hello, this is the Arkain Customer Experience Team.

Thank you sincerely for using Arkain.

We are writing to inform you that Arkain's Privacy Policy will be revised as follows. Please review the details and refer to them when using our services.<br>

* Effective Date: June 30, 2026&#x20;

Arkain will continue to strive to provide better services and protect your personal information more securely.<br>

#### Key Revisions

Article 12 (Personal Information Protection Officer and Complaint Handling) has been revised as follows.

* Before the change
* Chief Information Security Officer (CISO): Lee Jae-hui
* After the change
* Chief Information Security Officer (CISO) section removed in its entirety

You can review the full details through the Privacy Policy link below.

* [View Revised Privacy Policy](https://account.arkain.io/privacy-policy/20260630)

#### Objections and Inquiries

* If you have any objections or questions regarding the revisions, please contact us through[ chat](http://arkain.channel.io/).&#x20;
* If you do not agree with these revisions, you may request account withdrawal before the effective date.
* If you do not withdraw by this date, you will be deemed to have agreed to the revised terms.

Thank you.

The Arkain Customer Experience Team

<br>


# (Jun 8, 2026) Notice of Region Closure (Oregon, Frankfurt, Mumbai) and Container Migration on Jun 18

2026-06-08

\*국문 공지는 영문 본문 하단에 포함되어 있습니다. (Korean notice follows below the English text.)

Hello, this is the Arkain Customer Experience team.

To provide a more optimized and consolidated infrastructure environment, we will officially close specific regions (Oregon, Frankfurt, Mumbai) and migrate our services to the Seoul region on June 18, 2026.&#x20;

**Please note that the Seoul region is entirely unaffected;** platform access and container operations (creation, execution, and deletion) remain fully operational here without any interruption. Please review the key details and required actions below.&#x20;

***

#### ■ Key Details

* **Schedule:** Starts June 18, 2026 (Thu) at 01:00 UTC, taking up to 24 hours. Container access within closing regions will be completely disabled during migration.&#x20;
* **Impact on Oregon, Frankfurt, and Mumbai Regions:** Access will be permanently disabled at launch, and all containers within these regions will be automatically shut down and placed into hibernation for relocation.
* **Required Pre-Closure Action:** Save all active files and progress before **01:00 UTC** to prevent data loss from the automatic shutdown.

#### ■ Important Action/Impact

1. **How to Check Your Container’s Region:** When creating a container, the region closest to your current location is automatically selected. Go to the Container Settings page ➔ Click the \[More] button to verify your container's region.
2. **Post-Migration Activation:** Migrated containers will remain in a hibernation state. You must manually click the \[Reactive] button on your Dashboard within 6 months to resume operations and prevent permanent automatic deletion.
3. **Configuration Changes:** During the migration process, certain container configurations—including share links and execution URLs—will change. Please reconfigure any external integrations (APIs, webhooks, GitHub) with your new URLs after activation.
4. **Connection Speed:** You may notice some changes in connection speeds depending on your local network environment.&#x20;

***

For any questions or assistance, please reach out to us directly through our [chat support](http://arkain.channel.io).&#x20;

Thank you,\
The Arkain Customer Experience team<br>

***

### \[공지] 일부 리전(오레곤, 프랑크푸르트, 뭄바이) 운영 종료 및 컨테이너 이관 안내 (6/18)

안녕하세요, Arkain 고객경험팀입니다.&#x20;

더욱 최적화되고 통합된 인프라 환경을 제공하기 위해, 오는 2026년 6월 18일부로 일부 리전(오레곤, 프랑크푸르트, 뭄바이)의 운영을 종료하고 서비스를 서울 리전으로 이관합니다.

**이번 조치로 인한 서울 리전의 영향은 전혀 없으며, 마이그레이션 작업 중에도 서울 리전 내에서는 새로운 컨테이너 생성 및 기존 컨테이너의 실행·삭제를 아무런 중단 없이 정상적으로 이용하실 수 있습니다.** 아래의 주요 내용과 필수 조치 사항을 확인해 주시기 바랍니다.&#x20;

***

#### ■ 주요 안내 사항

* **진행 일정 및 점검 영향:** 2026년 6월 18일(목) 오전 10:00 KST 시작 (최대 24시간 소요). 마이그레이션이 진행되는 동안 대상 리전 내 컨테이너로의 접속 및 이용은 전면 차단됩니다.
* **오레곤, 프랑크푸르트, 뭄바이 리전 종료 및 영향:** 일정 시작과 동시에 해당 리전의 접속은 영구 차단되며, 이관 작업을 위해 리전 내 모든 컨테이너가 자동으로 종료 및 동면 처리됩니다.
* **사전 조치 사항 (필수):** 데이터 유실 방지를 위해 **오전 10:00 KST** 이전에 작업을 저장해 주세요. 종료 시점과 동시에 실행 중인 컨테이너는 자동 종료됩니다.

#### ■ 필수 조치 및 유의사항

1. **본인의 컨테이너 리전 확인 방법:** 컨테이너 생성 시에는 현재 위치에서 가장 가까운 리전이 자동으로 선택됩니다. 컨테이너 설정 페이지 ➔ \[더 보기] 버튼을 클릭하여 컨테이너의 리전을 확인해주세요.
2. **이관 후 컨테이너 동면 해제 필요:** 모든 컨테이너는 동면 상태로 이관됩니다. 대시보드에서 직접 \[동면 해제] 버튼을 눌러 활성화해 주셔야 하며, 자동 삭제 정책에 따라 6개월 이내에 활성화하지 않을 경우 컨테이너 삭제 및 데이터가 유실될 수 있습니다.
3. **컨테이너 설정 및 URL 변경 안내:** 이관 과정에서 공유 링크 및 실행 URL을 포함한 일부 컨테이너 설정이 변경됩니다. 작업 완료 후 외부 연동 서비스(API, 웹훅, GitHub 등)의 URL 설정을 반드시 재확인 해주시기 바랍니다.
4. **사용 속도 변화:** 이관 이후 지역 네트워크 환경에 따라 사용 속도면에서 변화를 느끼실 수 있습니다.&#x20;

***

서비스 이용 및 리전 통합과 관련하여 궁금하신 점은 [채팅 상담](https://arkain.channel.io)으로 문의해 주시기 바랍니다.&#x20;

감사합니다.\
Arkain 고객경험팀 드림

***


# (May 22, 2026) Update to Privacy Policy on May 29

2026-05-22

Hello, this is the Arkain Customer Experience Team.

Thank you sincerely for using Arkain.\
We are writing to inform you that Arkain's Privacy Policy will be revised as follows. Please review the details and refer to them when using our services.

* **Effective Date: May 29, 2026**

Arkain will continue to strive to provide better services and protect your personal information more securely.

#### Key Revisions

The Chief Privacy Officer and Chief Information Security Officer have been changed as follows.&#x20;

* Before the change
  * Chief Privacy Officer (CPO): Gwak Kyung-ju
* After the change
  * Chief Information Security Officer (CISO): Lee Jae-hui
  * Chief Privacy Officer (CPO): Yang Hyun-jun

**You can review the full details through the Privacy Policy link below.**

* [**View Revised Privacy Policy**](https://account.arkain.io/privacy-policy/20260529)

#### Objections and Inquiries

* If you have any objections or questions regarding the revisions, please contact us through[ chat](http://arkain.channel.io/).&#x20;
* If you do not agree with these revisions, you may request account withdrawal before the effective date.
* If you do not withdraw by this date, you will be deemed to have agreed to the revised terms.

Thank you.\
The Arkain Customer Experience Team

***


# (Apr 17, 2026)  Now Live: Build with AI Agent & Notion Integration

2606-04-17

<figure><img src="/files/tSD6ezu3Tlwge0HsV3YE" alt=""><figcaption></figcaption></figure>

Hello, this is the Arkain Customer Experience Team.

Arkain is now officially live! Following a successful Open Beta, our full service has been fully operational as of April 17, 2026.

Thank you for being with us through the beta — your feedback shaped what Arkain is today.

***

#### The fastest way to start coding with AI.

Arkain is a browser-based development environment built to remove every obstacle between you and your code.&#x20;

No installation. No configuration. Open your browser, and you're already building.

***

#### What You Can Do with Arkain

⚡ **Instant Dev Environment**

Spin up a container-based development environment in seconds. Every project starts in its own isolated container, so you can build, experiment, and break things freely.

🤖 **AI Agent in Your Side Chat**

Tell Arkain what you want to build or fix — in plain language. The AI Agent breaks it down into steps and handles the rest: writing code, editing files, running commands, all inside your container.

New to Arkain? You get 3 free runs on Arkain's AI features. No strings attached.

🎮 **GPU on Demand**&#x20;

&#x20;Scale your AI/ML projects with on-demand GPU nodes. Enjoy seamless SSH integration with your local IDE, available as a Premium Membership feature.

<figure><img src="/files/uhpCgllUunp73qb7lZuu" alt=""><figcaption></figcaption></figure>

🔗 **Connect Notion to Your Workflow** \*NEW

Arkain now supports external MCP integration, starting with **Notion**.

Connect your Notion workspace in just a few clicks, and the AI will reference your actual project docs to generate containers and apps — no copy-pasting, no context switching.

Curious what else is new? →[ Read the full release notes ↗](https://docs.arkain.io/whats-new/arkain-release-note)

***

[**\[Start Building with Arkain\]** ](https://arkain.io/)

***

We're just getting started — and we're glad you're with us.

If you have any questions, please contact us through[ chat](http://arkain.channel.io).

The Arkain Customer Experience Team


# (Apr 15, 2026) Scheduled maintenance on Apr 16

2026-04-15

Hello, this is the Arkain Customer Experience team.

Thank you for using Arkain.\
To prepare for our **Official Service Launch**, we will be performing final system maintenance. During this period, service access will be unavailable, and all running containers will be stopped.

Please review the details below to prevent any data loss.

***

#### **Schedule**

* **Start Time:** April 16, 23:00 – April 17, 01:00 (UTC)
* **Estimated Duration:** 2 Hours
* **Work in Progress:** Infrastructure and engine updates

#### **Scope of Impact**

* **Service Access:** Login and all platform features will be unavailable.
* **Container Shutdown:** All active containers will be forcibly stopped at the start of the maintenance.

#### **Notice**

* To prevent any potential data loss, we strongly recommend that you stop your containers manually before the maintenance begins.

***

We apologize for any inconvenience this may cause and appreciate your understanding as we work to improve our service. Should the maintenance extend beyond the estimated duration or if there are any changes to the schedule, we will notify you promptly via our Notice page.

For any inquiries, please contact us via chat or email.\
💬 [arkain.channel.io](https://arkain.channel.io)\
📩 <contact@arkain.io>

Thank you,\
Arkain Customer Experience team


# (Mar 5, 2026) Service Restoration: Brief Login Service Disruption

2026-03-05

Hello. This is the Arkain Customer Experience team.

The brief login service disruption that occurred on March 5 (Thu) has been fully resolved as of 05:11 (UTC). All services are now operating normally.

The issue was confirmed to be a temporary impact from the System Optimization tasks scheduled for today. We have completed the necessary measures to stabilize the system and will continue to monitor performance closely to prevent further recurrence.

#### Details of the Incident

* Cause: Impact from the scheduled System Optimization and updates
* Impact: Temporary inability to log into the Arkain platform
* Current Status: All services are running normally.

#### Incident Timeline (UTC)

* Mar 5. 04:20 – Login service disruption occurs
* Mar 5. 04:40 – Disruption identified and emergency response initiated
* Mar 5. 05:20 – System restoration and stability checks completed

We sincerely apologize for the inconvenience this brief disruption may have caused during your work. We are committed to providing a more stable and reliable service.

Thank you for your patience.

The Arkain Customer Experience Team


# (Mar 4, 2026) Container Spec Optimization & New XLarge Performance Launch on Mar 10

2026-03-04

Hello, this is the Arkain Customer Experience team.

We are writing to inform you that **container spec optimizations** and the **new XLarge performance** tier will be implemented starting **March 10, 2026**.

To support the latest AI tools, we have optimized our container specs to a 1:4 (vCPU to Memory) ratio. This update **doubles your memory for a more stable experience—all while keeping pricing exactly the same**.

***

#### Container Spec Optimization: 2x Memory at No Extra Cost

New or stopped containers apply the update automatically upon creation or startup. For active ones, please \[Restart] or \[Stop & Run] to apply the new specs—your files and configurations will remain safe. (Micro and GPU remain unchanged.)

<table><thead><tr><th width="170">Performance</th><th width="206">Previous Spec</th><th width="213">Updated Spec</th><th width="137">Credits / hour</th></tr></thead><tbody><tr><td>Small</td><td>2 vCPU / 2GB Memory</td><td>1 vCPU / 4GB Memory</td><td>6.80</td></tr><tr><td>Medium</td><td>4 vCPU / 4GB Memory</td><td>2 vCPU / 8GB Memory</td><td>13.60</td></tr><tr><td>Large</td><td>8 vCPU / 8GB Memory</td><td>4 vCPU / 16GB Memory</td><td>27.20</td></tr><tr><td>XLarge <span data-gb-custom-inline data-tag="emoji" data-code="2728">✨</span>(New!)</td><td>-</td><td>8 vCPU / 32GB Memory</td><td>54.40</td></tr></tbody></table>

#### Need More Power?🔒 Exclusively for Membership

Our new **XLarge tier (8 vCPU / 32GB)** is designed for\
\- Large language model training\
\- Multi-model AI workflows\
\- High-memory data processing\
Existing Large users requiring 8 vCPU or more are encouraged to upgrade to XLarge for the best experience.

{% embed url="<https://arkain.io/pricing>" %}

***

We remain dedicated to evolving our infrastructure to support your success. If you have any questions regarding these changes, please reach out to us via our [chat support](http://arkain.channel.io).

Thank you for being a valued part of Arkain.\
The Arkain Customer Experience team


# (Mar 3, 2026) Notice of System Optimization on Mar 5

2026-03-03

Hello, this is the Arkain Customer Experience team.

To provide a more stable and high-performance platform, we are scheduled to perform infrastructure and engine updates on **March 5, 2026**. While the service remains accessible, please note that temporary instability may occur during this process. Please rest assured that active containers will not be stopped.

***

#### Key Details&#xD;

* **Schedule:** March 5, 2026 (Thu), 05:00 – 05:15 UTC
* **Update Scope:** Infrastructure and engine updates
* **Expected Impact:** Services remain accessible, but intermittent delays or logouts may occur during the 15-minute window.

#### Required Action&#xD;

To prevent data loss, **please save all active files and progress before 05:00 UTC**.\
Please be aware that unsaved changes may not be recorded if an unexpected session timeout occurs during the update.

***

We strive to complete all updates within the scheduled time.

If you experience persistent instability after the update or if the process exceeds the 15-minute window, we will provide compensatory credit coupons to all affected users as a token of our appreciation for your patience.

For any questions or assistance, please reach out to us directly through our [chat support](http://arkain.channel.io/). <br>

Thank you,\
The Arkain Customer Experience team


# (Feb 5, 2026) Update to Privacy Policy on Feb 12

2026-02-05

Hello, this is the Arkain Customer Experience Team.

We are updating our **Privacy Policy** to ensure service stability and a more secure user environment. These changes are based on our legitimate interests in providing a reliable service while protecting our users' data.

The revised policy will take effect on **February 12, 2026**.

***

#### Key Changes

* **Service Security Enhancement:** Introduction of one-way Hashed Information (non-recoverable) to prevent duplicate account creation and ensure system stability.
* **Secure Data Management:** Hashed data will be securely retained for one year after account deletion or blocking to maintain a safe and stable service environment.
* **Strict Access Control:** Enhanced protection through the logical separation of hashed data from general operational data and strictly restricted access.

#### Review the Amendments

* [\[View Updated Privacy Policy\]](https://account.arkain.io/privacy-policy/20260212)
* [\[View Previous Version\]](https://account.arkain.io/privacy-policy/20260102)

#### Objections and Inquiries&#x20;

* If you do not agree to these amendments, you may withdraw your membership before February 12, 2026.
* If you do not withdraw by this date, you will be deemed to have agreed to the revised terms.
* If you have any questions or objections, please contact us and we will guide you through the process.

***

If you have any questions, please contact us through [chat](http://arkain.channel.io).

Thank you.

The Arkain Customer Experience Team


# (Jan 30, 2026) Service Outage in Seoul Region and Restoration

2026-01-30

Hello. This is the Arkain Customer Experience team.

Some of our services experienced temporary inaccessibility within the Seoul Region starting on Jan 30 (Fri) at 02:56 (UTC). The issue has been fully resolved as of Jan 30 at 03:12 (UTC), and all services are now operating normally.

The disruption occurred due to an issue during internal system maintenance and updates. We have completed the necessary measures to restore service stability and will continue to monitor the system to ensure seamless performance.

**Details of the Incident**

* **Cause:** Internal system update and maintenance
* **Impact:** Temporary service inaccessibility in the Seoul Region
* **Current Status:** All services are running normally.

**Incident Timeline (UTC)**

* **Jan 30. 02:56** – Service Disruption Occurs
* **Jan 30. 03:02** – Emergency Investigation and Response Initiated
* **Jan 30. 03:12** – System Restoration and Stability Checks Completed

We sincerely apologize for any inconvenience this outage may have caused to our users in the affected region, and we will do our best to provide a more reliable service.

Thank you for your patience.\
The Arkain Customer Experience Team


# (Dec 3, 2025) Update to Terms of Service and Privacy Policy on Jan 2, 2026

2025-12-03

Hello, this is the Arkain Customer Experience Team.\
We sincerely thank you for your continued support of Arkain.

We are writing to inform you that our **Terms of Service** and **Privacy Policy** will be updated to provide better service and strengthen personal information protection. Please review the details below.

The revised Terms of Service and Privacy Policy will take effect on **January 2, 2026**.

Arkain is committed to continually improving our services and ensuring your personal information is protected more securely.<br>

***

#### Key Amendment Details

The amendments are being introduced to enhance user experience and overall system performance by actively responding to malicious software that impairs service usability and system stability. We continuously work on countermeasures and advancing detection tools.

Specifically, the amendments incorporate provisions related to the introduction of real-time monitoring and blocking of malicious activities through automated systems, and the implementation of SMS verification.

#### **Major Changes**&#x20;

* **Terms of Service**
  * **Rights to Suspend or Terminate User Accounts:** Added procedures and a grace period for appealing service blocking measures resulting from policy violations, ensuring a fair process for users.
* **Privacy Policy**
  * **SMS Verification:** Included a trusted subprocessor and the associated collection of necessary personal information items, following the implementation of SMS verification.
  * **Department Change:** Updated the department responsible for personal information protection to the Cyber Security Team to strengthen security oversight.

#### Review the Amendments&#x20;

* Terms of Service:
  * [View Revised Terms of Service](https://account.arkain.io/terms-of-service/20260102)
  * [View Previous Terms of Service](https://account.arkain.io/terms-of-service/20250317)
* Privacy Policy:
  * [View Revised Privacy Policy](https://account.arkain.io/privacy-policy/20260102)
  * [View Revised Subprocessors List](https://account.arkain.io/subprocessors/20260102)
  * [View Previous Privacy Policy](https://account.arkain.io/privacy-policy/20250407)

#### Objections and Inquiries&#x20;

* If you do not agree to these amendments, you may withdraw your membership before January 2, 2026.
* If you do not withdraw by this date, you will be deemed to have agreed to the revised terms.
* If you have any questions or objections, please contact us and we will guide you through the process.

***

If you have any questions, please contact us through [chat](http://arkain.channel.io).

Thank you.

The Arkain Customer Experience Team<br>


# (Nov 19, 2025) Service Outage and Restoration on Nov 18

2025-11-19

Hello. This is the Arkain Customer Experience team.&#x20;

***

Due to an issue with one of our third-party service providers (a domain service provider), some of our services experienced temporary inaccessibility starting on Nov 18 (Wed) at 12:00 (UTC).

The issue has been fully resolved as of Nov 18 at 15:50 (UTC), and all services are now operating normally.

#### Details of the Incident

* **Cause:** Outage experienced by our domain service provider
* **Impact:** Temporary service inaccessibility
* **Current Status:** All services are running normally.

#### Incident Timeline (UTC)

**Nov 18. 12:00 -** 1st Service Disruption Occurs (Domain Provider Outage)

**Nov 18. 12:11 -** 1st Disruption Resolved

**Nov 18. 13:11 -** 2nd Service Disruption Occurs (Service Instability Resumes)

**Nov 18. 15:50 -** Service Restoration and Stability Checks Completed (Final Resolution)

***

We sincerely apologize for any inconvenience this outage may have caused, and we will do our best to provide a more reliable service.

Thank you.

The Arkain Customer Experience Team


# (Nov 17, 2025) GPU Container Policy Update on Nov 24

2025-11-17

Hello, this is the Arkain Customer Experience Team.\
We sincerely thank you for your continued support of Arkain.

We would like to inform you of an important update to our [GPU Container](/user-guide/dashboard/container/nvidia-tesla-t4-gpu-container) Policy, aimed at improving service stability and overall performance.

***

### Key Updates to GPU Containers

We are implementing the following changes, effective **Monday, November 24th:**

* **Instance Type Upgrade for Enhanced Stability:**
  * The GPU Container instance type will be changed from Spot to On-demand.
  * This change ensures you can reliably access and utilize your GPU containers whenever you need them, without the risk of sudden interruptions.
* **GPU Container Access Limited to Membership Users:**
  * To support the new On-demand infrastructure and provide a premium experience, GPU Containers will now be exclusively available to Membership Plan Users.
* **Updated Pricing:**
  * With the upgrade to On-Demand instances, the GPU Container usage rate will be 51.76 credits per hour. This adjustment reflects the increased cost of guaranteed and stable resource availability.

### Note on Existing GPU Containers

* **Current Status:** Any GPU containers you have previously created are currently stopped.
* **How to resume:** Starting November 24th, you can run your GPU containers after subscribing to a Membership Plan.
* **Data Backup Support:** Please note that containers that remain inactive for more than 6 months will be deleted. If you require assistance with backing up the data in your currently inactive GPU Container, please contact us via [**Chat**](http://arkain.channel.io) for support.
* [Get started with membership](https://arkain.io/my/dashboard#/billing)

***

We believe these changes will provide a more stable and professional environment for your high-performance computing needs. Thank you for your continued trust and support in Arkain.

Thank you.\
The Arkain Customer Experience Team


# (Jul 8, 2025) Scheduled maintenance on Jul 11

2025-07-08

Hello, this is Arkain Customer Experience team.

Thank you for using Arkain.\
We will be performing service maintenance for improved experience on our platform.\
Arkain will be unavailable during this maintenance. The service will become available as soon as the maintenance is complete.

***

### Schedule

* **Start Time**: July 11th, 11:00 (UTC)
* **Estimated Duration**: 2 to 3 days
* **Work in Progress**: Service maintenance (domain and infrastructure updates)

### Notice

* Containers will be forcibly stopped during the maintenance. Please stop your containers in advance.

***

We apologize for any inconvenience this may cause, and your patience is highly appreciated.\
If there are any changes to the schedule, we will notify you through the Notice.

For any inquiries, please contact us via chat or email.\
**💬** [**arkain.channel.io**](https://arkain.channel.io/home)\
**📩 <contact@arkain.io>**

Thank you,\
Arkain Customer Experience team


# What is Arkain?

<figure><img src="/files/A4LJIU0BF2GigCJg9z9w" alt=""><figcaption></figcaption></figure>

## Introducing Arkain: The Future of Cloud Development Environments&#x20;

[**Arkain**](https://arkain.io) is a **Cloud Development Environments (CDE)** designed to simplify and enhance the software development process. Whether you're building a web app in **JavaScript, Node.js, React**, a data science project in **Python,** Arkain provides all the tools you need to get started quickly and efficiently.

### **Supercharge Your Workflow with AI Code Assistance**

Arkain isn't just a coding platform—it’s your **intelligent coding companion**. With an [**AI Code Assistant**](/user-guide/arkain-ai/what-is-arkain-snap), you can:

* Get **smart code suggestions** in real time.
* Collaborate effortlessly with AI to **write, debug, and refine** your projects.
* You can automatically build a development environment using natural language with the intelligent AI agent **Arkain Snap**.

Whether you're a beginner or a seasoned developer, Arkain empowers you to **code smarter, faster, and more efficiently than ever before**. Start building with **AI-driven precision** today!&#x20;

## **Key Features of Arkain**

### **Seamless Setup for Any Language**&#x20;

With just a few clicks, Arkain provides pre-configured development environments for various programming languages like **Python, Java**, and **Go**, as well as frameworks and runtimes like **Node.js** and **React**.&#x20;

Additionally, it offers a **Blank** template with only the Ubuntu OS installed, allowing users to freely customize their own development environments.&#x20;

Arkain also specializes in AI by offering **GPU**-optimized development environments tailored for AI-related projects.

### **Seamless Real-Time Collaboration**&#x20;

Arkain empowers developers to work together effortlessly with:

* **Live Code Editing** – Multiple developers can edit the same file simultaneously.
* **Global Collaboration** – Work with teammates worldwide, breaking time and space constraints.

### **Arkain Snap:** AI agent App Builder

[Arkain Snap](/user-guide/dashboard/creative-tools/using-arkain-snap) is an AI agent that turns ideas into working apps. Describe what you want to build in natural language — Snap plans, codes, and iterates automatically until the project is successfully generated.

It selects and configures the necessary libraries, frameworks, and databases based on your request, and writes the code for frontend, backend, and more. If something fails during generation, Snap automatically retries and fixes it.

You can also attach images, code files, or PDFs to provide more specific context and improve generation accuracy.

### **Side Chat: AI Code Assistance**

Arkain’s [**Side Chat**](/user-guide/arkain-ai/side-chat) gives you direct access to powerful AI models([Supported Models](/user-guide/arkain-ai/supported-models)) inside your development environment.

* **Agent Mode:** The AI autonomously explores your codebase, writes and edits files, and runs terminal commands — step by step, with full transparency.
* **Ask Mode:** A read-only assistant for questions, code reviews, debugging, and explanations. Code blocks are displayed for reference and can be copied, but are not applied directly.
* **Message Queue:** Send follow-up messages while the AI is still responding — no need to wait.
* **Chat History:** Revisit and resume past conversations anytime.
* **Flexible AI Models:** Switch between different models based on your needs.

### **Templates: Jumpstart Your Projects**&#x20;

Leverage user-generated **Templates** to quickly start projects without the hassle of setting up environments from scratch. Browse through templates in the community, customize them to fit your needs, and share your own templates with others. Whether you're building an API, a web app, or a machine learning project, there's a template for you.

***

## **Experience the Future of Software Development with Arkain!**

Arkain empowers developers to code smarter, collaborate better, and deploy faster. Whether you're working on solo projects or with a global team, Arkain provides the tools and environment needed to make your development process efficient and seamless.


# Quick Started

With just a few clicks, you can set up your development environment and start developing with the powerful features of Arkain. Get started quickly and learn the basics of Arkain with Quick Started.

## How to Sign Up for Arkain

{% stepper %}
{% step %}

#### **Access & Start Registration**

* Navigate to [https://arkain.io](https://www.google.com/url?sa=E\&source=gmail\&q=https://arkain.io) using a Google Chrome browser.
* Click the **\[Get started free]** button located in the top-right corner of the homepage.
  {% endstep %}

{% step %}

#### **Choose Your Sign-Up Method**

Select how you would like to create your account:

* **Social Sign-up:** Quickly connect via Google, GitHub, or Apple. (Follow the prompts to grant Arkain access to your basic profile).
* **Email Sign-up:** Click \[Continue with email] to register using your email address and password.
  {% endstep %}

{% step %}

#### **Verify Your Phone Number**

To keep your account secure, Arkain requires phone number verification.

* Select your country code and enter your mobile number.
* Click \[Verify] to receive a 6-digit code via SMS.
* Enter the code and click \[Next] to proceed.
  {% endstep %}

{% step %}

#### Enter Profile Details & Verify Age

Provide your basic information and confirm your eligibility.

* **Username:** Create a unique ID (up to 20 letters and numbers).
* **Role:** Select your role from the dropdown menu.
* **Date of Birth:** Enter your birthdate.

{% hint style="warning" %}
In compliance with our privacy policy, users must be at least 16 years old to use the Arkain service. If you are under 16, registration will be restricted.
{% endhint %}
{% endstep %}

{% step %}

#### Agree to Terms and Finalize

* **Agreement:** Check the box to agree to the Arkain Terms and Conditions.
* **Complete:** Click the \[Sign up] button to finalize your registration.
* **Welcome:** When the "Welcome to Arkain!" screen appears, click \[Get started] to enter your new workspace!
  {% endstep %}
  {% endstepper %}

## How to Log in to Arkain

Let me show you how to log in to Arkain. Shall we embark on a magical development journey together?

{% stepper %}
{% step %}

#### Choose Your Login Method

You have a choice between two methods:

* **Social Login:** If you registered with a social account (like Google, Github, or Apple), click the corresponding icon.
* **Email and Password:** If you didn't use a social account, enter your email address and password in the provided fields and click Login.
  {% endstep %}

{% step %}

#### Confirm Social Account

If you chose a social login, a new window will pop up. Click the specific social account you used to register. You may also be prompted to confirm permissions; if so, click the \[Continue] button.
{% endstep %}

{% step %}

#### Login Successful

Once you've completed the previous steps, you'll be logged into your account. A message will appear on the dashboard saying, ***"Congratulations! You have successfully logged in to Arkain."***
{% endstep %}
{% endstepper %}

## How to Create and Run a Container in Arkain

{% stepper %}
{% step %}

#### Navigate to the Dashboard

The dashboard is your main hub for managing development environments. Look for the "New container" button and click it.
{% endstep %}

{% step %}

#### Choose a Base template

A "Create container" pop-up will appear. Click the dropdown menu under "Base templates" to see a list of available container base templates. Select the one you want to use, such as Node.js, Python, or Java.
{% endstep %}

{% step %}

#### Name the Container

In the "Name" field, enter a name for your container. The name can only contain letters, numbers, hyphens, and underscores.
{% endstep %}

{% step %}

#### Configure Specifications (Optional)

If you need to, you can adjust the container's performance by selecting a different option under "Performance." You can also add more storage under "Add Storage."
{% endstep %}

{% step %}

#### Create the Container

Once you've entered the name and adjusted any settings, click the \[Create] button. The system will begin creating your container, which may take a moment.
{% endstep %}

{% step %}

#### Run the Container

After the container is successfully created, a confirmation window will pop up. Click the \[Run Container] button to start your new development environment.

You are now ready to begin your work in the new container! If you created a Python, Node.js, or Java container that supports Arkain Snap, the AI agent will also be active, allowing you to create a project prototype with a simple prompt.
{% endstep %}
{% endstepper %}

## Turning an idea into a prototype with the AI Agent, Arkain Snap

{% stepper %}
{% step %}

#### Navigate to the Dashboard

The dashboard is your main hub for managing development environments. Arkain Snap is available on the Dashboard for easy access.
{% endstep %}

{% step %}

#### Describe Your Idea

You'll see a text box with the prompt, "Describe an idea you want to create." You can either:

* Type a detailed description of the service or app you want to create. Arkain Snap will instantly turn your text into a functional service.
* Click one of the quick prompts below the input box. This is a great way to experience how Arkain Snap works.
  {% endstep %}

{% step %}

#### Generate the App

Once you've provided your prompt, Arkain Snap will begin working. It will automatically:

* Set up the development environment.
* Design the project files and code structure.
* Write the necessary code.
  {% endstep %}

{% step %}

#### Install Dependencies and Run

Arkain Snap will then automatically install all the necessary dependencies and run the newly created application.
{% endstep %}

{% step %}

#### Review the Result

The completed app will be displayed in your workspace. You can now test it to see if it works as you expected.
{% endstep %}
{% endstepper %}

## Vibe Coding with AI Assistant Side Chat

This process demonstrates how Side Chat and your project interact seamlessly, allowing you to "vibe code" and make modifications without manual coding, significantly enhancing your workflow.

{% stepper %}
{% step %}

#### **Getting Started with Side Chat**

Open Side Chat from the Sidbar of your Arkain Workspace.
{% endstep %}

{% step %}

#### Request a Change

In the input box, enter your request.&#x20;
{% endstep %}

{% step %}

#### Side Chat Responds

The AI will then analyze your request and provide the necessary code to make the change.
{% endstep %}

{% step %}

#### Apply the Code

The AI suggests that you need to modify the specific file. It will show you the code changes.

* You can click the \[Apply] button in the Side Chat to automatically apply the suggested code to the file open in the editor.
* Alternatively, you can click the \[Copy] button to copy the code or the \[Insert] button to paste the code at your cursor's current location in the editor.
  {% endstep %}

{% step %}

#### Save the File

Once you have applied the changes, click the \[Save] button to save the updated code.
{% endstep %}

{% step %}

#### Check the Result

To see the change, click the \[Preview] button.
{% endstep %}
{% endstepper %}


# Dashboard

## [Dashboard](https://arkain.io/my/dashboard)&#x20;

The **Dashboard** is where you can manage your development environments, created and owned by you. Here's everything you need to know to get started.

<figure><img src="/files/g1zAV4IAwETBDLUzQ4GR" alt=""><figcaption></figcaption></figure>

## **What Can You Do on the Dashboard?**

#### **View Your Containers** &#x20;

View all the containers you’ve created or own, along with their statuses, configurations, and more.

#### **View** **Templates**&#x20;

Check out the popular templates. See a list of templates you've created.

#### **Manage Your Containers**&#x20;

Create your container, modify its information, update resources and options directly, or delete any containers you no longer need.

{% hint style="info" %}

## **Tips for Managing Containers**

* **Organize Your Workspaces** : Give each container a clear and descriptive name to easily find them later.
* **Clean Up Regularly** : Delete unused containers to keep your workspace tidy and efficient.
  {% endhint %}

#### **Check Your** [**Credit** ](/credits-and-membership/credits)

Purchase credits to use the container and check your credit usage.

#### Access the AI Assistant (Side Chat)

Get real-time guidance on platform usage, container management, credit tracking, and template recommendations across all Dashboard pages.

#### Refer Your Friends

Click the Gift Box button (<i class="fa-gift">:gift:</i>) in the bottom-left corner to invite friends and earn bonus credits together.


# Container

Arkain provides **Containers**, which is isolated environments that package everything needed to run software (code, libraries, configuration files, etc.) into a single package.

A **base template** is a pre-configured software package that is installed by default in a container. Each container has a single **base template**, but users can install additional software based on their project requirements.

## **Available Container Base Templates in Arkain**

Arkain offers a variety of container base template to meet the needs of different development projects. These base templates come pre-configured with the necessary software for each respective language or framework, making it easier to start development right away!

Below are the available base templates you can choose from when creating a container:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden></th><th data-hidden data-type="files"></th><th data-hidden data-card-cover data-type="files"></th></tr></thead><tbody><tr><td><img src="/files/SkMhsq3PnQh98fnRYkZ6" alt="">  </td><td><h2>Blank</h2><p>A clean slate for custom projects.</p></td><td></td><td><a href="/files/pALlPIwTS20plXeKWo3u">/files/pALlPIwTS20plXeKWo3u</a></td><td></td></tr><tr><td>  <img src="/files/erHU0fvNABmP4JVx74jY" alt=""></td><td><h2>Python</h2><p>Pre-configured environment for Python development.</p></td><td></td><td><a href="/files/Gw7UI2K7OfZrmaaLxFO1">/files/Gw7UI2K7OfZrmaaLxFO1</a></td><td></td></tr><tr><td>  <img src="/files/l3jpa1dSZqO0FBALlY5B" alt=""></td><td><h2>Node.js</h2><p>Set up for building and running Node.js applications.</p></td><td></td><td><a href="/files/VL5mdkGwwMPN5DuBbiAV">/files/VL5mdkGwwMPN5DuBbiAV</a></td><td></td></tr><tr><td>  <img src="/files/8RR5yUB28vKGorpSdD0x" alt=""></td><td><h2>Java</h2><p>Pre-configured for Java development.</p></td><td></td><td></td><td></td></tr><tr><td> <img src="/files/P46VoVMSTdT7kEQvWMUr" alt=""></td><td><h2>Go</h2><p>Pre-configured environment for Go development.</p></td><td></td><td></td><td></td></tr><tr><td> <img src="/files/rq51P76R3GmZgSRiSsUy" alt=""></td><td><h2>React</h2><p>Optimized for front-end development with React.</p></td><td></td><td></td><td></td></tr><tr><td><p><img src="/files/0o7JMf7VlffZR0yCjljn" alt="" data-size="original"></p><h2>NVIDIA Tesla T4</h2></td><td>A GPU container optimized for deep learning, data analysis, and more.</td><td></td><td></td><td></td></tr><tr><td></td><td></td><td></td><td></td><td></td></tr></tbody></table>

{% hint style="success" %}
**Available OS Versions**

* Ubuntu 24.04 LTS
* Ubuntu 22.04 LTS
* Ubuntu 20.04 LTS
  {% endhint %}


# Container Management

Here is an introduction to creating, running, stopping, deleting containers, and modifying container settings.


# Creating Container

Creating a new container in Arkain is simple and efficient! Follow these steps to set up your container and start working on your project seamlessly.

Go to the [Arkain Dashboard](https://arkain.io/my/dashboard) page, Click the **\[New container]** button.

{% stepper %}
{% step %}
**Set Up a Container Base template**

Currently, the supported base templates are **Blank, NVIDIA Tesla T4, Python, Node.js, Java, React and Go**.
{% endstep %}

{% step %}
**Configure OS**&#x20;

{% hint style="success" %}
**Available OS Versions**

* Ubuntu 24.04 LTS
* Ubuntu 22.04 LTS
* Ubuntu 20.04 LTS
  {% endhint %}
  {% endstep %}

{% step %}
**Set a Container Name**

Enter a name for your container.

{% hint style="warning" %}
**Note**

* Container names must only contain **alphabets, numbers, underscores (\_), or hyphens (-).**
* The container name must be **unique** among your containers.
  {% endhint %}
  {% endstep %}

{% step %}
**Configure Container Performance**

You can check the available container performance on [this page](https://docs.arkain.io/user-guide/dashboard/container/container-specifications).
{% endstep %}

{% step %}
**Enable the advanced feature (optional)**

You can enable the advanced features such as [**Code Supporter**](/user-guide/arkain-ai/code-supporter).

{% hint style="warning" %}
The cost for using the advanced feature such as **Code Supporter** is added to your container cost. However, when using a GPU container, there is no additional charge for this feature; instead, your allocated **GPU compute and memory resources** will be reduced.
{% endhint %}
{% endstep %}

{% step %}
**Configure Additional Storage**

* **Default:** 5GB / **Up to:** 80GB
* **Free Plan**: 5GB for free
* **Membership Plan**: 15GB for free

{% hint style="info" %}
GPU containers are created with **30GB of storage by default**.
{% endhint %}

{% hint style="warning" %}
**Note**

* Once upgraded, storage **cannot be downgraded.**
* If you **exceed your free storage**, **additional charges** will apply based on your usage.
* You can also **upgrade storage after the container has been created**.
  {% endhint %}
  {% endstep %}

{% step %}
**Activate Additional Modules/Packages (optional)**

Install additional modules and packages during container creation to save time.
{% endstep %}
{% endstepper %}

***

With these easy steps, you’re all set to create and customize your container in Arkain! \
Start building smarter and faster today.&#x20;


# Import GitHub Repos

You can import existing projects directly from **GitHub** to continue working on them inside Arkain. Arkain supports both public repository URLs (no login required) and personal repositories via GitHub authentication.

{% stepper %}
{% step %}

### Open the Creation Popup <a href="#step-1-go-to-the-dashboard-and-click-new-container" id="step-1-go-to-the-dashboard-and-click-new-container"></a>

Go to the [Dashboard](https://arkain.io/my/dashboard) page and click the \[+ New container] button to open the Create container popup.
{% endstep %}

{% step %}

### Choose Your Import Method

**Option A: Import via Public URL (No Login Required)**

Ideal for quickly spinning up any public open-source project without syncing your account.

1. Select the URL tab at the top of the popup.
2. Paste the full GitHub repository address (e.g., `https://github.com/owner/repo`) into the Repository URL field.

**Option B: Import via Authenticated Account (Personal & Private Repos)**

Ideal for accessing your own repositories, including private ones.

1. Select the Repo tab at the top of the popup.
2. Click the authorization button to securely link your GitHub account.
3. Once authenticated, select the desired repository from your personal list. Private repositories will be clearly marked with a badge.
   {% endstep %}

{% step %}

### Configure Environment & Build

* **Template & Name:** Arkain automatically detects and fills in the appropriate base template and project name based on the repository contents. You can freely modify these as needed.
* **Customization:** Configure your OS, Performance tier, and additional storage, or toggle Modules / Packages if you need extra dependencies pre-installed.
* **Launch:** Click the \[Import project] button at the bottom to create and launch your container environment.
  {% endstep %}
  {% endstepper %}


# Container Settings

Click the **\[Settings]** button(<img src="/files/TInpCsLKBQQ9BIGopoZS" alt="" data-size="line">) in the Container Card. You can go to the **Container Settings page.**

<figure><img src="/files/6twmJPBkMkt2LMTm5abk" alt=""><figcaption></figcaption></figure>

***

### **Container Basics**

Add a description to provide context for what the container is used for. This is especially helpful for collaboration.

### **Container info**

You can check various container information, such as the container's hardware specs including CPU, memory, and storage, as well as the container region, base template and OS.

{% content-ref url="/pages/FugXUl8Ar3nagExxIoc7" %}
[Container Performance](/user-guide/dashboard/container/container-performance)
{% endcontent-ref %}

You can also add storage capacity or change the container specs (CPU and memory).

* Add Storage
  * **Default:** 5GB / **Up to:** 80GB
  * **Free Plan**: 5GB for free
  * **Membership Plan**: 15GB for free

{% hint style="info" %}
You can change settings after stopping the container.
{% endhint %}

{% hint style="warning" %}
**Check before Adding Storage**

* Once upgraded, storage **cannot be downgraded.**
* You can upgrade again **6 hours after** the previous upgrade.
* If you **exceed your free storage**, **additional charges** will apply based on your usage.
  {% endhint %}

### Share container

You can invite other users to your container with 4 permissions (Readonly, Editable(non-root/root), Editable & sharable(root)). You can also share the container's sharing link with other users.

{% content-ref url="/pages/VgxOlNMaz0g927NI56ho" %}
[Container Sharing](/user-guide/dashboard/container/container-management/container-settings/container-sharing)
{% endcontent-ref %}

### **Container status**

* **Auto-stop**

Save resources by activating the **Auto-stop** feature. The container will automatically stop after a period of inactivity, reducing unnecessary costs and improving efficiency.

{% content-ref url="/pages/H5tvZEDDLWhoRRpBopgi" %}
[Auto-stop](/user-guide/dashboard/container/container-management/container-settings/auto-stop)
{% endcontent-ref %}

* **Code Supporter**

Write and fix code more easily and accurately with the **Code Supporter** feature. It provides real-time assistance through features like Go to Definition, Autocomplete Suggestions, and Live Diagnostics.

{% content-ref url="/pages/gyJDFvtPNjLDEZ6evMdG" %}
[Code Supporter](/user-guide/arkain-ai/code-supporter)
{% endcontent-ref %}

### **Init Script**

If you have a script that needs to be executed repeatedly when running a container, you can use the Init script. The Init script runs from the root directory `(/)` of the container and is executed when the container starts.

{% content-ref url="/pages/3jp41SRua9ZJ0zKXfkKX" %}
[Init Script](/user-guide/dashboard/container/container-management/container-settings/init-script)
{% endcontent-ref %}

### **URL/Port**

View and manage the unique URL and Port for accessing your running application directly from the browser. Port is crucial for ensuring your application or services can be accessed externally.

{% content-ref url="/pages/MltiPryHIUbRGVRISziC" %}
[URL / Port](/user-guide/workspace/url-port)
{% endcontent-ref %}

### **SSH**

View and manage the SSH command and password for accessing containers in Arkain from the outside. SSH connections are only available while the container is running.

{% hint style="info" %}
The SSH feature is available only to **membership** plan users.
{% endhint %}

{% content-ref url="/pages/VpLqbEGLNnkWF2gXriwo" %}
[SSH Configuration](/user-guide/dashboard/container/container-management/container-settings/ssh-configuration)
{% endcontent-ref %}

### **Environment Variables**

Environment variables are defined as key-value pairs and can be used to store database credentials, API keys, and other sensitive information for applications.&#x20;

By using environment variables, programs can be executed according to the environment without changing the source code, and sensitive security keys do not need to be stored directly in configuration files, enhancing security.

{% content-ref url="/pages/wMc8I4goT58VcHyqViwp" %}
[Environment Variable](/user-guide/dashboard/container/container-management/container-settings/environment-variable)
{% endcontent-ref %}

### **Delete this container**

You can delete the container by clicking the **\[Delete]** button on the Container Settings page.


# Auto-stop

**Auto-stop** automatically shuts down containers after 30 minutes of inactivity to prevent unnecessary credit consumption. The system checks the activity of both the owner and all invited members to ensure the container only stops when no one is using it.

## Feature Guide <a href="#feature-guide" id="feature-guide"></a>

1. When **Auto-stop** is **On**

* **Participant-based Tracking:** The 30-minute countdown begins only after all participants (owner and members) close their Workspace browsers and stop all editor activities.
* **Activity Detection:** Auto-stop tracks not just browser closure, but also active editing. If anyone is still typing or running tasks, the container stays active.
* **Credit Efficiency:** Once the 30-minute window of total inactivity passes, the container stops automatically, and no further credits are deducted.

2. When **Auto-stop** is **Off**

* **Always-on (Background Run):** The container will continue to run even if everyone leaves the Workspace. Use this mode if you have background processes that need to stay active.
* **Manual Stop Required:** You must manually click the \[Stop] button on the Dashboard page or the Workspace.
* **Continuous Credit Use:** Credits will be deducted as long as the container is running. Be sure to stop it manually to avoid unexpected charges.

3. Setting Permissions

* **Owner Only:** Only the container owner has the authority to Enable or Disable the Auto-stop feature. Members can view the status but cannot change it.

## Set **Auto-stop** <a href="#set-automatic-stop" id="set-automatic-stop"></a>

You can set **Auto-stop** from the Dashboard page and the Workspace.

### From Dashboard <a href="#from-dashboard" id="from-dashboard"></a>

* Click the **\[Settings]**(<img src="/files/fieesdjJ5FxuMCtw5YeE" alt="" data-size="line">) button of the container → Active **\[Auto-stop]** in Container Status section.

<figure><img src="/files/hdfLKGiBFUqKvMFFpJHv" alt=""><figcaption></figcaption></figure>

### From Workspace <a href="#from-ide" id="from-ide"></a>

* Click the **\[Auto-stop]** button(<img src="/files/bX9nfrzYxsFUWjH1uyPC" alt="Auto-off" data-size="line">) in the bottom bar, and then click the **\[Enable]** button in the popup to enable the container's Auto-stop feature.
* To turn off the feature, click the **\[Auto-stop]** button(<img src="/files/h9ByZRgYpNXZd4oX1vpY" alt="Auto-off" data-size="line">) again.

<figure><img src="/files/hvHvao3JERcZDF1hkVoV" alt=""><figcaption></figcaption></figure>


# Init Script

If you have a script that needs to be executed repeatedly when running a container, you can use the Init script. The **Init script** runs from the root directory `(/)` of the container and is executed when the container starts.

It is commonly used to write scripts that execute your application.

{% hint style="warning" %}

#### Shell environment limitations

The **Init Script** is executed using **`/bin/sh`**, which has the following limitations:

* Only POSIX-compliant `sh` commands are supported.
* Bash-specific syntax (e.g., `[[ ]]`, `source`, arrays, or `bash` shebangs) cannot be used.
* Existing scripts written for `bash` must be adapted to be compatible with `/bin/sh`.

**Useful Resources:**

* [POSIX Shell Standard](https://www.google.com/search?q=%5Bhttps://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/V3_chap02.html%5D\(https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/V3_chap02.html\)): Official documentation for the standard `/bin/sh` command language.
  {% endhint %}

### How to use the Init Script?

{% stepper %}
{% step %}
You can navigate to the **Dashboard** page and enter the **Container Settings** page.
{% endstep %}

{% step %}
In the **Container Settings** page, under the **Init Script** section, you can write the execution commands. Once you're done writing, it will be saved automatically, and these commands will automatically run when the container starts.&#x20;
{% endstep %}
{% endstepper %}


# SSH Configuration

You can access containers in Arkain from the outside using the **SSH Configuration**.

## **SSH Configuration** <a href="#ssh-configuration" id="ssh-configuration"></a>

{% hint style="info" %}
**The SSH feature can be used after membership subscription.**
{% endhint %}

You can SSH to the Arkain container from the outside.

{% stepper %}
{% step %}
Click **\[Container]** → **\[SSH Configuration]** on the top menu to open the **\[SSH Configuration]** pop-up window.
{% endstep %}

{% step %}
Click the copy icon to the right of the command and paste it from your local environment or other external instances shell.
{% endstep %}

{% step %}
Then enter your password.

If this is your first connection, click the **\[Generate]** button to generate a password. Click the copy icon on the right to copy it and paste it in the shell you want to SSH into.\
The password that is issued is not stored anywhere. Once you've been issued a password, you can use it for subsequent accesses.

If you don't remember it, you can **\[Regenerate]**.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
The SSH connection IP and port change every time the Arkain container is turned off and on.\
SSH connections are only available while the Arkain container is on.
{% endhint %}


# Environment Variable

Sensitive data like passwords and API keys can be stored in Environment Variables for use in running Commands.

* Environment variables are applied globally within the container and can be used across terminals and commands, while their values are only accessible to users with root privileges.
* You can configure environment variables from the Container Settings page or the Workspace, and view the list of configured `Key-Value` pairs in the Environment Variables table.

### Using Environment Variables <a href="#using-environment-variables" id="using-environment-variables"></a>

* **In the Container Settings page**

<figure><img src="/files/atmDbGAMC1L81odBASpf" alt=""><figcaption></figcaption></figure>

* **In the Workspace**\
  You can configure environment variables from the Command Settings tab, and they will be applied when running commands in the Workspace.

After modifying environment variables, refresh the terminal to apply the changes.

### Command Variables <a href="#command-variables" id="command-variables"></a>

Command variables are default environment variables provided by Arkain, consisting of values that might be challenging for users to manage easily. You can check the list of command variables on the command settings tab. The usage of command variables is the same as using environment variables.


# Container Upgrade

### Container **Performance and Storage Management**

Arkain provides flexible options to enhance container performance and storage capacity. Here's how you can manage these features:

#### **Upgrade Container Performance** [Container Performance](/user-guide/dashboard/container/container-performance)

* You can **boost your container’s resources** (such as CPU and memory) directly on the **Container Settings page**.
* Upgrading performance is ideal for handling larger workloads or improving application efficiency.
* A container’s resources (such as CPU and memory) can only be modified when the container is in a stopped state, and its performance can be increased or decreased as needed at any time.

### **Add Container Storage**

* **Expand Your Storage**: Increase the storage capacity of your container when needed, ensuring you have enough space for your projects and files.
* You can upgrade the storage **up to 80GB.**
* You can upgrade again **6 hours** after the previous upgrade.
* If you exceed the default storage, additional storage will be charged in credits based on usage.\ <sub>For detailed credit deductions, please visit this page.  \[</sub>[Credits](/credits-and-membership/credits)]

{% hint style="danger" %}
Once a container's storage capacity is increased, it **cannot be reduced**. \
Plan your storage upgrades carefully to avoid unnecessary allocations.
{% endhint %}

<figure><img src="/files/6qhnDplE4l9YkuMjokwT" alt=""><figcaption></figcaption></figure>

### **Additional Traffic Charges**

The container's network traffic is provided for free up to 10GB per month, with charges applied per GB when exceeded.

{% hint style="warning" %}
For every **1GB of traffic**, an additional **8 credits** will be charged.&#x20;
{% endhint %}

{% hint style="info" %}
Monitor your container's performance and storage needs regularly to ensure optimal usage and resource allocation.
{% endhint %}


# Rename the Container

Arkain allows you to rename your containers for better organization and clarity.

Click the **\[Settings]** button (![](/files/gyi87DGmUHnwqu8fdXij)) of the container card you want to rename on the Dashboard page. On the Container Settings page, click the **\[Edit]** button (![](/files/GKFAeLGs3G8fZ8hWFHtz)) at the top-left corner.

#### Step-by-Step

{% stepper %}
{% step %}
Enter the new name for the container. The name must be unique within your workspace and follow standard naming conventions (alphabets, numbers, hyphens, and underscores).
{% endstep %}

{% step %}
Click the **\[Save]** button to rename the container.
{% endstep %}
{% endstepper %}

#### **Rename the Container**

* You can **rename your container** at any time from the **Container** **Settings page.**
* Renaming is useful for improving container identification, especially when managing multiple containers or evolving project scopes.

{% hint style="warning" %}

* Only the container **owner** can rename the container.
* Containers can be renamed while running, but the editor will refresh right after, which may clear unsaved edits.
  {% endhint %}


# Container Sharing

You can share your container with others to collaborate or showcase your projects.&#x20;

Click the **\[Settings]** button (<img src="/files/IPBdZsoTV6W89QYMU9r7" alt="" data-size="line">) of the container you want to share on the Dashboard page. On the Container Settings page, click the **\[Share]** button (<img src="/files/LjuEXqwRpnPxb5V6iq3b" alt="" data-size="line">) at the top-right corner.

### **Share as an email**

{% stepper %}
{% step %}
Enter the email address of the user you want to invite to the container. The user's email must be the email registered with Arkain.
{% endstep %}

{% step %}
Select permissions to access the container.

<table><thead><tr><th width="241">Permission</th><th>Possible actions</th></tr></thead><tbody><tr><td>Readonly</td><td><ul><li>Source code view</li></ul></td></tr><tr><td>Editable(non-root)</td><td><ul><li>Source code view, <strong>edit</strong></li></ul></td></tr><tr><td>Editable(root)</td><td><ul><li>Source code view, edit</li><li><strong>Version control (Git)</strong></li><li><strong>Configuring init script</strong></li><li><strong>URL/Port</strong></li><li><strong>Environment Variable</strong></li></ul></td></tr><tr><td>Editable &#x26; sharable (root)</td><td><ul><li>Source code view, edit</li><li>Version control (Git)</li><li>Configuring init script</li><li>URL/Port</li><li>Environment Variable</li><li><strong>Sharing Container</strong></li><li><strong>Changing member permissions</strong></li></ul></td></tr></tbody></table>
{% endstep %}

{% step %}
Click the **\[Invite]** button to share the container with the selected user.
{% endstep %}
{% endstepper %}

### **Share by link**

{% stepper %}
{% step %}
Set the sharing scope and permissions above the Members list for the link.

Only members who have been invited to the container will be able to access the container using the link.&#x20;
{% endstep %}

{% step %}
Share the link with the users who you want to invite.
{% endstep %}

{% step %}
Users who access the container through the sharing link will receive access to the container based on the sharing link settings.
{% endstep %}
{% endstepper %}

Also, you can share a container from the Workspace settings.

{% content-ref url="/pages/DV1g0ryp8T03Q2LFsaZn" %}
[Container Sharing](/user-guide/workspace/collaboration/container-sharing)
{% endcontent-ref %}


# Container Run / Stop / Delete

Arkain provides multiple ways to manage your containers efficiently. Here's how you can run, stop, and delete containers:

## **Run Your Container**

You can run your container from two locations:

**Dashboard page**

{% stepper %}
{% step %}
Go to the Dashboard page, where your containers are displayed as cards.
{% endstep %}

{% step %}
Click the **\[Run]** button on the container card to launch it.
{% endstep %}
{% endstepper %}

**Container Settings page**

{% stepper %}
{% step %}
Open the **Container Settings page** of your container.
{% endstep %}

{% step %}
Click the **\[Run]** button located at the top-right corner to initiate the container.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
If you're the owner of a container, you can run it by accessing the container's sharing link.
{% endhint %}

## **Stop Your Container**

To stop a running container, you have two options:

**Dashboard page**

{% stepper %}
{% step %}
Go to the Dashboard page, where your containers are displayed as cards.
{% endstep %}

{% step %}
Click the **\[Stop]** button on the container card to terminate its operation.
{% endstep %}
{% endstepper %}

**Container Settings page**

{% stepper %}
{% step %}
Open the Container Settings page of your container.
{% endstep %}

{% step %}
Click the **\[Stop]** button to safely terminate the container.
{% endstep %}
{% endstepper %}

## **Delete Your Container**

To delete a container, you can choose from the following methods:

**Dashboard page**

{% stepper %}
{% step %}
Go to the Dashboard page, where your containers are displayed as cards.
{% endstep %}

{% step %}
Click the **\[More]**(<img src="/files/ElFaDmbaZfn3T9bNihTE" alt="" data-size="line">) → **\[Delete this container]** button on the container card to remove it permanently.
{% endstep %}
{% endstepper %}

**Container Settings page**

{% stepper %}
{% step %}
Open the Container Settings page of your container.
{% endstep %}

{% step %}
Click the **\[Delete]** button to remove it permanently.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Once a container is deleted, it cannot be recovered.
{% endhint %}

***

{% hint style="info" %}
**Tip**

Stopping containers when not in use saves resources, and deleting unused containers helps keep your workspace organized.&#x20;
{% endhint %}


# Container Performance

## Container Performance

You can efficiently use Credits by adjusting the performance of the container based on your needs and usage purposes.

The number of Credits deducted during container usage varies depending on the performance, storage, traffic, and the advanced feature usage.

{% hint style="info" %}
**Access Restriction:** Creating or running NVIDIA Tesla T4 GPU containers and XLarge containers is available exclusively to *Membership* users.
{% endhint %}

<table><thead><tr><th width="162">Performance</th><th width="279">Specification</th><th width="154">Credits per hour</th><th>Price</th></tr></thead><tbody><tr><td>Micro</td><td>0.5 vCPU, 1GB Memory</td><td>1.96</td><td>$0.0392</td></tr><tr><td>Small</td><td>1 vCPU, 4GB Memory</td><td>6.80</td><td>$0.1360</td></tr><tr><td>Medium</td><td>2 vCPU, 8GB Memory</td><td>13.60</td><td>$0.2720</td></tr><tr><td>Large</td><td>4 vCPU, 16GB Memory</td><td>27.20</td><td>$0.5440</td></tr><tr><td>XLarge</td><td>8 vCPU, 32GB Memory</td><td>54.40</td><td>$1.0880</td></tr><tr><td><a href="/pages/wyK1FDt0l0StWKDBdQ2F">GPU Basic </a>(NVIDIA Tesla T4)</td><td>3.5 vCPU, 13GB Memory</td><td>51.76</td><td>$1.0352</td></tr><tr><td><a href="/pages/gyJDFvtPNjLDEZ6evMdG">Code Supporter</a> (Advanced)</td><td>0.5 vCPU, 1GB Memory</td><td>1.96</td><td>$0.0392</td></tr></tbody></table>

{% hint style="warning" %}
The cost for using the advanced features such as **AI Supporter and Code Supporter** is added to your container cost. However, when using a GPU container, there is no additional charge for these features; instead, your allocated **GPU compute and memory resources** will be reduced.
{% endhint %}

{% hint style="info" %}
1 credit is priced at approximately $0.02. For detailed information, refer to [this](/credits-and-membership/credits) documentation.
{% endhint %}

## Setting Container Performance <a href="#setting-container-specifications" id="setting-container-specifications"></a>

You can set the performance of the container when you create it, based on your requirements. Similarly, when creating a container through **Templates**, you can set the container performance.

Additionally, you can modify the performance of an existing container on the **Container Settings page** at any time, depending on your needs and purposes.

{% hint style="warning" %}
To ensure infrastructure stability, processes or containers **exceeding their allocated resource limits** may be **automatically terminated** to protect system performance.
{% endhint %}


# NVIDIA Tesla T4 GPU Container

{% hint style="info" %}
**Access Restriction:** Creating or running NVIDIA Tesla T4 GPU containers is available exclusively to *Membership* users.
{% endhint %}

**NVIDIA Tesla T4** GPU resources can be paired with **Arkain** to create containers that can perform tasks that require high-performance computing, such as deep learning.

### GPU Container Specification

<table><thead><tr><th width="243">Type</th><th align="center">Specification</th></tr></thead><tbody><tr><td>vCPU</td><td align="center">3.5</td></tr><tr><td>Memory</td><td align="center">13GB</td></tr></tbody></table>

{% hint style="warning" %}
Using advanced feature like **Code Supporter** on a GPU container will reduce your allocated GPU compute and memory resources. This does not incur an additional credit charge.
{% endhint %}

<figure><img src="/files/MWlAPRtylzdGxKi3gWhT" alt=""><figcaption></figcaption></figure>

### **GPU Storage Billing Policy**

* GPU containers are created with **30GB of storage by default.** If you want more storage, you can upgrade and use it.
* **Membership Plan:** **Up to 15GB** **can be used for free.**
* Additional storage will be charged in credits based on usage.

{% hint style="info" %}
For more information about pricing and container performance, refer to the [Container Performance](/user-guide/dashboard/container/container-performance) document.
{% endhint %}

### Create a GPU Container

To create a GPU container, select \[**NVIDIA Tesla T4]** as the base template when creating the container. The creation time for GPU containers can be longer than for regular containers.


# Inactive Container

## **Container Auto-Inactivation and Deletion** <a href="#container-auto-inactivation-and-deletion" id="container-auto-inactivation-and-deletion"></a>

Your container will automatically enter an inactive state under the following circumstances:

* **One month of inactivity:** If the container has not been used for a month, it will be automatically inactivated.
* **Insufficient credits:** For containers that are billed for storage, when credits are exhausted, the container will be automatically inactivated.

{% hint style="danger" %}
**Warning**

* **Containers that remain inactive for more than 6 months will be deleted.** You will receive a deletion notification email one month and one week before deletion.
* **Please note that deleted containers cannot be recovered.** If you have important data, please log in to the Dashboard page and click the **\[Reactivate]** button to activate your container.
  {% endhint %}

<figure><img src="/files/uc8phEoeGFGDd3iW6mIa" alt=""><figcaption></figcaption></figure>

## **If it takes too long to reactivate**

It may take some time if the inactive state period is long or if the container contains a large amount of data. Please try **refreshing** the page or using **Chrome's Incognito mode**.&#x20;

If the issue persists, please contact us through the [**\[Contact us\]**](https://arkain.channel.io/home)( <img src="/files/Y9OqU28pypmQy7Z0ut5k" alt="" data-size="line">).


# Creative Tools

Use Arkain's built-in AI tools to build apps, get things done faster, and connect your workflow — all from the Dashboard page.


# Using Arkain Snap

You can create a custom container with the Arkain AI by typing prompts.

**Arkain Snap** is an AI agent that turns ideas into reality. You can create services or apps just with natural language prompts, without needing to learn programming languages anymore.\
There are two ways to use Arkain Snap:

{% hint style="success" %}
🎁 **Free Trial:** The **Arkain Snap** feature is available free of charge for up to 3 uses! Additional usage may consume credits.
{% endhint %}

## Start from the Dashboard

[**Arkain Snap**](/user-guide/arkain-ai/what-is-arkain-snap)  is available on the Dashboard page for easy access.

<div data-with-frame="true"><figure><img src="/files/RcSUPBrjZ9qWE68WLqfi" alt=""><figcaption></figcaption></figure></div>

{% stepper %}
{% step %}

#### Define Your Goal & Add Context

Enter your requirements in the central prompt box. To ensure the highest quality results, you can provide additional context directly from the Dashboard:

* **Natural Language:** Describe features, logic, and goals. Use **Quick Prompts** for inspiration. By default, a container is generated in a Node.js base template, but using a Quick Prompt will select the template most appropriate for that prompt.
* **Visual Context (Images):** Click the \[Upload Images] icon(<i class="fa-image">:image:</i>) or drag and drop UI mockups, sketches, or screenshots, allowing the AI to guide the visual design based on your provided images.
* [**External Tools (MCP)**](/user-guide/dashboard/creative-tools/connect-external-tools)**:** Click the Connector icon to link services like Notion. The AI can search your docs automatically or use a specific page URL to build your app based on your existing PRDs or specs.
  {% endstep %}

{% step %}

#### Requirement Analysis & Refinement

Once you submit your request, Side Chat(Dashboard) analyzes your intent before the build begins.

* **Prompt Generation:** The Side Chat (Dashboard) will display a **"Creating Snap prompt..."** indicator while the AI prepares a refined technical summary of your project.
* **Review & Edit:** Review the AI-generated summary. If you want to change the direction or add more detail, click the **Edit** button to manually adjust the prompt to match your exact intent.
  {% endstep %}

{% step %}

#### Autonomous Building

After you confirm the prompt by clicking the \[Generate with Arkain Snap] button, the automated build process starts:

* **Container Creation:** A development environment is created based on your prompt (e.g., Node.js or a specialized template).
* **Agent Execution:** The Snap Agent plans the structure and writes the code autonomously. You can watch the live progress as the AI builds your service in real-time.
  {% endstep %}

{% step %}

#### Final Refinements in Workspace

Once the build is complete, your project opens in the Workspace.

* Use the **Side Chat (Workspace)** to make further adjustments, fix UI details, or add new features.
* *Note: External tool context (like Notion) is used for the initial creation stage on the Dashboard only and is not carried over into the Workspace session.*
  {% endstep %}
  {% endstepper %}

## Start with a Specific Base Template

If you prefer to set up your environment first, you can launch Arkain Snap from within a pre-configured container.

<figure><img src="/files/OUod79HNbN3b5Y9iRdz9" alt=""><figcaption></figcaption></figure>

{% stepper %}
{% step %}

### Create a Container

Go to the [Arkain Dashboard](https://arkain.io/my/dashboard), click the **\[New container]** button and create a container by following the instuctions on [this page](/user-guide/dashboard/container/container-management/creating-container).

{% hint style="info" %}
Arkain Snap is available with **Python, Node.js, Java, React, and Go** Containers.
{% endhint %}
{% endstep %}

{% step %}

### Run the Container and Enter Your Prompt

After the container is created, click the **\[Run Container]** button. On the first run, Arkain Snap will appear inside your container.

Describe your idea in natural language in the input box, then click the **\[Generate with Arkain Snap]** button.
{% endstep %}

{% step %}

### Build the Project

Arkain Snap will automatically:

* Configure the environment for the selected base template and your project.
* Generate the project structure and code.
* Install dependencies and start the application.
* Self-heal on errors — If any issue arises during setup or startup, the agent automatically\
  detects and fixes it.
  {% endstep %}
  {% endstepper %}

## Preview the Result

<figure><img src="/files/HCLDD4B3vDl62Ic1a2ie" alt=""><figcaption></figcaption></figure>

Once Arkain Snap finishes building the project, the **Preview** will automatically open in your Workspace so you can test the app right away. Check the service created based on your prompt and use the **Side Chat** to make changes to your service.


# Connect External Tools

Connect your Notion workspace to Arkain and let the AI build apps and containers using your actual project docs — no copy-pasting required.

<figure><img src="/files/QkkPzmA9bE49aD3vCfyv" alt=""><figcaption></figcaption></figure>

**Notion** is the first tool you can connect to Arkain. More services are on their way, so you'll be able to expand your workflow as new integrations become available.

With your docs connected, turning ideas into working projects has never been faster. Start building with your own context today!

***

#### **1. Connect your tools**

On the Dashboard page, click the **connector icon** (<img src="/files/lIwfo0NIx2Jl2Sg3Waum" alt="" data-size="line">) in the bottom-left corner of the Snap and the Side Chat(Dashboard) input box to open the **Connect your tools** popup.

<figure><img src="/files/M4QLqZscrdXkpvhXU5WE" alt="" width="563"><figcaption></figcaption></figure>

#### **2. Connect Notion**

Click the **Connect** button next to Notion. A Notion login popup will open.

Select the workspace you want to connect, check **"I know and trust this URL"**, and click **Continue** to grant access.

Once connected, the **Notion icon**(<i class="fa-notion">:notion:</i>) will appear next to the connector icon in the input box.

#### **3. Enter your prompt**

With Notion connected, describe what you want to build in the prompt input box. There are two ways to reference your Notion content:

**Option A — Let the AI search your Notion automatically**\
**:** Just describe what you need in natural language. The AI will search your connected Notion workspace to find relevant docs and use them as context.

{% hint style="info" %}
e.g. Build a web app based on the developer resume PRD doc in Notion
{% endhint %}

**Option B — Paste a specific Notion page URL**\
**:** Copy the URL of a specific Notion page and paste it directly into the prompt along with your request for more precise context.

{% hint style="info" %}
e.g. <https://www.notion.so/your-page-url> Build a web app based on this doc
{% endhint %}

The Side Chat(Dashboard) will open and show a **"Creating Snap prompt..."** indicator while the AI reads your Notion content and prepares the project.

#### **4. Generate with Arkain Snap**

Once the AI finishes, you'll see **"Arkain Snap is ready"** in the Side Chat along with a generated project summary. Click the **\[Generate with Arkain Snap]** button to proceed.

{% hint style="info" %}
If you'd like to modify the AI-generated prompt before using **\[Generate with Arkain Snap]**, click the **Edit** button to customize the prompt as needed.
{% endhint %}

{% hint style="warning" %}
If you've reached your container limit or have insufficient credits, you'll be prompted to upgrade your plan or purchase more credits before proceeding.
{% endhint %}

#### **5. Your project is being built**

Arkain Snap will open a new page showing **"Context pulled from your tools"**, confirming your Notion content was used as reference. The AI will then plan and build your project automatically.

Once complete, use the Side Chat to make further refinements.

{% hint style="info" %}
Notion context is available at the project creation stage only. It cannot be used inside the Workspace.
{% endhint %}

***

#### **Disconnect Notion**

To disconnect Notion, click the **connector icon** (🔗) in the bottom-left corner of the input box to open the **Connect your tools** popup. Click the **Disconnect** button next to Notion. Once disconnected, the Notion icon will disappear from the connector button.&#x20;

Disconnecting Notion does not affect any containers or projects that were already created using Notion context.

<figure><img src="/files/qwsU62j3Bnvw5oD2yiob" alt="" width="563"><figcaption></figcaption></figure>

***


# Side Chat (Dashboard)

The Dashboard Side Chat, an AI Assistant, helps you build apps and manage your Arkain workspace — all from a single chat interface. Describe what you want to create and Arkain Snap will handle the rest, or ask questions about containers, credits, templates, and platform usage to get instant guidance.

***

### **Access**

* **Sidebar Toggle:** The Side Chat can be opened or closed at any time via the sidebar on the left.
* **Automatic Activation:** Entering a prompt or requirement in the Dashboard's main input box automatically opens the Side Chat. The assistant then analyzes your request to provide instant guidance or initiate the Arkain Snap building process.
* **Platform-Wide Availability:** The assistant is available and usable across all Dashboard pages, including the Credit usage and Templates pages, providing continuous support as you navigate.

***

### **Key Features**

#### 1. Smart Response Detection

* The Side Chat automatically detects the intent of your input and responds accordingly.
* If your request is about building or creating an app, the Side Chat will prepare a project plan and display the **\[Generate with Arkain Snap]** button to proceed.
* For all other requests — such as questions about containers, credits, or platform usage — the Side Chat responds directly with guidance and information.

#### 2. Contextual Inputs for Snap

When building apps through the Dashboard Side Chat, you can provide rich context to improve the results:

* **Image Attachment:** Click the **\[Upload Images]** icon or drag and drop UI mockups, screenshots, or sketches into the chat. The AI analyzes these images to guide the visual design of your Snap project.
* [**External Tools (MCP)**](/user-guide/dashboard/creative-tools/connect-external-tools)**:** Connect tools like **Notion** via the connector icon. Once linked, the AI can reference your actual project documentation or PRDs to generate precise containers and apps.

#### 3. Session Controls

* **Reset & Stop:** Use the reset button (top-left) to start a new session. Use the stop button to cancel an in-progress generation.
* **History:** Note that Dashboard chat history is not persisted and will be cleared upon browser refresh or manual reset.

#### 4. Smart Redirects & UI Highlighting

* Responses may guide you to relevant Dashboard pages (e.g., Container Settings).
* Important UI elements are visually highlighted to help you quickly identify key information.

#### 5. Recommended Prompts

* Access a curated list of **Quick Prompts** to see what is possible.
* Selecting a prompt automatically fills the input field for immediate submission or further editing.

***

### What You Can Ask Side Chat

{% content-ref url="/pages/sAa9eVEoQXYwWbtfZqvR" %}
[What You Can Ask Side Chat](/user-guide/dashboard/creative-tools/side-chat-dashboard/what-you-can-ask-side-chat)
{% endcontent-ref %}

### **When to Use Dashboard Side Chat**

* When you are learning how Arkain works
* When you need information about your containers
* When you want to manage or optimize credit usage
* When you need guidance on selecting templates or setting up environments
* When you want to build an app or prototype from a natural language description
* When you want to create a project based on your Notion docs


# What You Can Ask Side Chat

A guide to valid questions you can ask in the Side Chat within the Dashboard page.

{% hint style="warning" %}
**Responses provided by Side Chat may not always be accurate and should be used as reference information only.**
{% endhint %}

### **1.** Arkain Feature Guidance

* **What it does**
  * Answers questions about Arkain’s features and services by using an LLM trained on and referencing the official documentation at [docs.arkain.io](http://docs.arkain.io/), helping you understand how each capability works and when to use it.
* **Example requests**
  * What is Arkain Snap?
  * What is Auto Stop?
  * What is Arkain template?
  * What is Code Supporter?
* **Constraints**
  * <mark style="background-color:red;">AI responses may be approximate or outdated; please refer to the official documentation for accurate details.</mark>

***

### **2.** Credit Support

{% hint style="danger" %}
Side Chat enforces strict access control and only supports searching data owned by the **authenticated user.**
{% endhint %}

#### 2.1. Credit calculation

* **What it does**
  * Calculates credit usage based on container specifications and usage duration, allowing you to estimate hourly and monthly credit consumption.
* **Example requests**
  * Calculate how many credits the active container is using per hour.
  * Calculate the monthly usage credits for the medium container.
  * Calculate the monthly credit usage for the GPU container.
  * Calculate the hourly usage for a 10GB container with micro specs.

#### 2.2. Check credits

* **What it does**
  * Shows your current credit balance, monthly credit usage, and real-time credit consumption for the active container.
* **Example requests**
  * Check credits.
  * How many credits do I have left?
  * Show credit status.
* **Constraints**
  * <mark style="background-color:red;">Credit information can only be viewed for the currently</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**authenticated user**</mark><mark style="background-color:red;">.</mark>&#x20;
  * <mark style="background-color:red;">There may be a slight delay before updates are reflected.</mark>

***

### 3. App Creation

* **What it does**
  * Detects app creation requests from your input and automatically prepares a project plan using Arkain Snap. Once ready, a \[Generate with Arkain Snap] button will appear to proceed.
* **Example requests**
  * Build a portfolio website with React. Create a REST API server with Node.js. Make a web app based on my Notion doc.
* **Constraints**
  * <mark style="background-color:red;">Responses provided by Side Chat may not always be accurate and should be used as reference information only.</mark>
  * <mark style="background-color:red;">App creation requires sufficient credits and an available container slot.</mark>

***

### **4.** Container Management

{% hint style="danger" %}

* For actions that require a specific container, the Side Chat will ask for the container name if you don’t provide it.
* The Side Chat enforces strict access control and only supports searching data owned by the **authenticated user.**
* Checking or updating **shared containers** via Side Chat is **currently unavailable**.
  {% endhint %}

#### 4.1. Check Container

#### 4.1.1. Get Container List

* **What it does**
  * Shows up to five of your most recently used containers, including their current status and the last updated time.
* **Example requests**
  * View containers.
  * Which containers were updated recently?

#### 4.1.2. Get Container Detail

* **What it does**
  * Returns full details for a specific container: basic info, spec, storage, advanced setting info, URL/port, init script, SSH info, and more.
* **Example requests**
  * Show details for my "my-project" container.
  * What are the spec and storage for "project-alpha"?
  * Show the URL/port settings for "web-service".
  * Show only SSH info for “my-app” container.
* **Constraints**
  * <mark style="background-color:red;">Getting container details is not allowed when the container is inactive.</mark>

#### 4.2 Update Container Settings

{% hint style="info" %}
**Note**

* All changes **require explicit user approval** before execution. The Side Chat will propose the update, you confirm, then the operation runs.
* Note that updating container specs, storage, or advanced settings may **change the number of credits deducted.**
  {% endhint %}

{% hint style="danger" %}
**Common Constraints**

Updates to container information and status are not allowed when a container is **inactive**.
{% endhint %}

#### 4.2.1. Update Basic Info

* **What it does**
  * Changes the container’s name or description.
* **Example requests**
  * Rename my "api-server" container to "project-alpha".
  * Update the description of "data-pipeline" container to "Daily ETL jobs".
  * Set empty description from the “algorithm-practice” container.
* **Constraints**
  * <mark style="background-color:red;">You can’t rename a container to a name that is already in use.</mark>
  * <mark style="background-color:red;">Only one field can be updated per request.</mark>

#### 4.2.2. Update Spec

* **What it does**
  * Updates the container’s resource specification to one of: micro, small, medium, or large.
* **Example requests**
  * Set my container spec to medium.
  * Upgrade the “qna-dashboard” container to large.
  * I want to change spec to small for “nextjs-app” container.
* **Constraints**
  * <mark style="background-color:red;">Specs can only be changed when the container is</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**stopped**</mark><mark style="background-color:red;">.</mark>
  * <mark style="background-color:red;">Changing a general container to a</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**GPU is not permitted**</mark><mark style="background-color:red;">.</mark>

#### 4.2.3. Update Storage

* **What it does**
  * Increases the container’s storage capacity in gigabytes (GB).
* **Example requests**
  * Increase the storage for the “portfolio-web” container to 20 GB.
  * Expand "data-lab" storage to 25 GB.
  * Update "etl-runner" container’s storage to 30 GB.
  * I want to change storage size to 15 GB for “python-app” container.
* **Constraints**
  * <mark style="background-color:red;">Storage can only be changed when the container is</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**stopped**</mark><mark style="background-color:red;">.</mark>
  * <mark style="background-color:red;">You can upgrade again</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**6 hours**</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">after the previous upgrade.</mark>
  * <mark style="background-color:red;">Once a container's storage capacity is increased, it</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**cannot be reduced.**</mark>
  * <mark style="background-color:red;">You can upgrade the storage</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**up to 80GB.**</mark>

#### 4.2.4. Update URL / Port

* **What it does**
  * Manages exposed running URL and port mappings for the container. You can add a URL, change its port, or delete it.
* **Example requests**
  * Add the “tetris-api” URL and port 8080 to the “tetris” container.
  * Change the "web" URL port to 3001.
  * Remove the “front-app” URL from the “portfolio” container.
* **Constraints**
  * <mark style="background-color:red;">URL/Port can only be changed when the</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**container is stopped**</mark><mark style="background-color:red;">.</mark>
  * <mark style="background-color:red;">You can’t add a url name that is</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**already in use.**</mark>
  * <mark style="background-color:red;">When updating the URL, you must enter the</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**subdomain name of the URL**</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">you wish to use.</mark>
    * For example, if you want to add a URL like `https://my-api-server.ap-northeast-2.arkain.site`, you should only enter “my-api-server”.
  * <mark style="background-color:red;">**Custom Domains cannot be added via Side Chat**</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">and must be configured directly on the Container settings page.</mark>

#### 4.2.5. Update Init Script

* **What it does**
  * Modifies the init script that runs when the container runs.
* **Example requests**
  * Update the init script to run "mkdir project & cd project".
  * Set the init script to "bash [init.sh](http://init.sh)" for “blank-project” container.
  * Change the init script to empty.
* **Constraints**
  * <mark style="background-color:red;">Init Script can only be changed when the container is</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**stopped**</mark><mark style="background-color:red;">.</mark>

#### 4.2.6. Update Advanced Settings

* **What it does**
  * Enables or disables advanced features such as [**Auto-stop**](https://docs.arkain.io/user-guide/dashboard/container/auto-stop), and [**Code Supporter**](https://docs.arkain.io/user-guide/workspace/editor/code-supporter).
* **Example requests**
  * Turn on auto-stop for "project-alpha" container.
  * Enable code supporter for "web-service".
  * Turn off auto-stop for "etl-runner".
* **Constraints**
  * <mark style="background-color:red;">Advanced Settings can only be changed when the container is</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**stopped**</mark><mark style="background-color:red;">.</mark>
  * <mark style="background-color:red;">**Only one setting**</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">can be changed per request.</mark>

***

### **5. Template Recommendations**

* **What it does**
  * Recommends Arkain templates based on your project goals and use cases.
* **Example requests**
  * Find template for game.
  * Find template for boilerplate.
  * Find template for React.
  * Find template for AI-powered app.
* **Constraints**
  * <mark style="background-color:red;">Template recommendations are prioritized based on usage frequency, with</mark> <mark style="background-color:red;"></mark><mark style="background-color:red;">**the most commonly used templates shown first**</mark><mark style="background-color:red;">.</mark>


# Credit usage

You can check your credit usage by clicking the \[View credit usage] button at the right of the Dashboard page.

{% hint style="success" %}
**✨ Arkain Snap & Side Chat Free Trial**

We’re offering **3 total free trial uses** to let you deploy AI-powered containers with **Snap** and get instant AI help in your workspace with **Side Chat**. Experience the power of Arkain’s AI for yourself!

For detailed information about Snap and Side Chat usage charges, please check [here](https://docs.arkain.io/credits-and-membership/credits/calculate-credits-usage).
{% endhint %}

Click the current **Credit & Plan** button at the top-right corner on the Dashboard page. In the popup that appears, you can check your current remaining credits and plan, and click the \[**View credit usage**] button to go to the **Credit usage page**.

## **How to Use the Credit Usage**

The **Credit usage** page provides an overview of your current credit deduction and detailed resource usage. Below is a description of each section:

### **Total Usage**

Displays the total amount of credits deducted during the current month.

### **Per resource**

Breaks down credit deduction based on resource types:

* **Container usage**: Credits deducted for running containers.
* **Storage**: Credits deducted for storage capacity allocated to the container.
* **Traffic**: Credits deducted for data transfer and traffic.
* **AI**: Credits deducted for AI features such as the Arkain Snap and the Side Chat(Workspace).

### Container Usage

Displays detailed credit logs for each container on a selected date. Check the logs by changing the date by day. You can view the resource usage that led to container credit deductions.

Hover over the info icon to see information on your container's advanced features at the time of credit deduction.

{% hint style="info" %}
**How to calculate credit usage**

* Credit will be deducted when the container is terminated.
* If a container is in use and terminates with no credits remaining, the value of credits shown on the Usage page might be greater than the actual value deducted because the time when credits are deducted and the time when the container actually terminates might be different.
  {% endhint %}

### &#x20;AI Usage

Displays detailed credit logs for AI feature usage. You can browse the logs by switching pages, and view the Type and Container associated with each usage log.&#x20;

Types include **Chat(Side Chat)**, and **Arkain Snap.**&#x20;

Information on LLMs is shown only for the **Chat** type, and not for the other types.


# Billing

Click the **\[Avatar] button** located at the top-right corner on the **Dashboard page** and Click the **\[Billing]** button in the popup that opens.

The **Billing page** on the Dashboard page is where you can manage all your payment-related activities, including subscribing to membership plans, viewing your credit history, and checking your current credit balance. It's your one-stop-shop for managing your subscription and credits!&#x20;

<figure><img src="/files/HY7HdRuk43edP53cX02u" alt=""><figcaption></figcaption></figure>

***

## **How to Use the Billing Page**

### **Check your Current Credit Balance**

* Current Credit Balance shows you how many credits you currently have available.&#x20;
* You can see at a glance the paid credits you purchased and the credits you received for free during the month, and check the regular recharge date for free credits.&#x20;
* You can set whether to receive email notifications related to credits.&#x20;
* Buy credits: If your balance is low, you can quickly add credits by clicking the **\[Buy credits]** button! Just select the amount you want to purchase and complete the transaction.&#x20;

### **Subscribe to a Membership Plan**

In the **Membership Plan section**, you can do the following:

* If you are on the **Free plan**, you can subscribe to the **Membership plan** to enjoy additional features and benefits.
* If you are on the **Membership plan**, you can view the subscription information for the plan you are subscribed to.

### **Purchase history**

* **Credit History**&#x20;
  * View your credit purchase history and get a refund for unused credits.
  * View your free credit history and check the expiration date.
  * View your refunded credit history.

{% hint style="info" %}

### Credit Refund Policy

* We offer **full refunds** for eligible transactions.

* Please note that **partial refunds are not available**.

* If the payment was made by credit card, any cancellation will be processed back to the card used for the transaction.

* For more details, please refer to the link provided. [Credits](/credits-and-membership/credits)
  {% endhint %}

* **Membership Subscription**&#x20;
  * Check your current membership status (e.g., subscribing or subscribing to be terminated) and your subscription history.
  * To cancel your membership subscription, click the **\[Cancel membership]** button. The next payment will not be charged, and you can continue to use your membership benefits until the expiration date.
  * You can view your membership cancellation history.

{% hint style="info" %}

### Membership Refund Policy

* You can get a refund for your subscription within 7 days from the subscription date, provided that the credits received as a membership benefit have not been used.
* If you want to get a refund for your membership subscription, please contact us through our [chat](https://arkain.channel.io) support.
* For more details, please refer to the link provided. [Membership](/credits-and-membership/membership)
  {% endhint %}

### Add coupon

{% content-ref url="/pages/b0lkpGiZr1eZduMVY3O5" %}
[Coupon](/user-guide/dashboard/billing/coupon)
{% endcontent-ref %}

***

{% hint style="info" %}
The **Billing Page** is your go-to place for managing payments, credits, and subscriptions on Arkain. It provides transparency on your credit usage, allows you to manage your membership plan, and ensures you never run out of credits when you need them!
{% endhint %}


# Coupon

<figure><img src="/files/N7Pi3Tw41ddivVtLfRdu" alt=""><figcaption></figcaption></figure>

### How to add coupon

1. Visit the [Billing page](https://arkain.io/my/dashboard#/billing).
2. Click the **\[+Add coupon]** button in the top-right corner.
3. Enter the coupon code and click the **\[Add coupon]** button.
4. Check if the coupon has been registered correctly.
   * Verify the coupon registration in the **\[Credit History]** tab.
   * Check the coupon details entered in the **Membership Payment Information section.**

### Add coupon policy

* If you use a membership coupon during your membership subscription, the next payment date will be extended.
* If you use multiple membership coupons, the membership expiration date will be extended.
* If you use a credit coupon, the credits will be applied immediately.
* Once your membership expires, you will no longer be able to use the credits provided as a membership benefit.


# Workspace

Arkain's **Workspace** is an IDE (Integrated Development Environment) designed to help you efficiently develop software. It provides features such as editing, building, testing, and deploying software. The main components of the Workspace are as follows.&#x20;

<figure><img src="/files/VxBRPQ3pBkL4TR1UctXO" alt=""><figcaption></figcaption></figure>

***

## Menu bar <a href="#menu-bar" id="menu-bar"></a>

The Menu bar is where you perform general operations on your Arkain Workspace. It includes the following buttons, from left to right

* The **\[Menu]** button(<img src="/files/KjLazVTzPdUTRwLQkwea" alt="" data-size="line">) allows users to access the **Process List**, **SSH Configuration**, **Manage SBOM**, and **New Terminal Window**.

<figure><img src="/files/xFoe8r6lpKJaxNO1XpXo" alt=""><figcaption></figcaption></figure>

* The **\[Preview]** button(<img src="/files/h8aZuIYnOW1kT3QfmhcI" alt="" data-size="line">) allows users to preview their project within the Workspace or in a new tab. It also provides options for configuring the execution URL and port settings.

<figure><img src="/files/oFN6gvJgR1574n7sLOI2" alt=""><figcaption></figcaption></figure>

* The **\[Run]** button (<img src="/files/k6FJ4jopqjmj5u9FgRgt" alt="" data-size="line">) allows users to manage and execute custom run commands.

{% content-ref url="/pages/nDNmTx73KHtMIvd4On5f" %}
[Commands](/user-guide/workspace/commands)
{% endcontent-ref %}

<figure><img src="/files/PBjNpu3fiWu6gzxWAC7O" alt=""><figcaption></figcaption></figure>

* The **\[Create Template]** button (<i class="fa-up-from-line" style="color:$info;">:up-from-line:</i>) deploys the currently active container as a template. Deployed templates are made public on the [Templates page](https://arkain.io/template).
* The **\[Power]** button (<i class="fa-power-off" style="color:$info;">:power-off:</i>) allows users to manage the container status through **Restart** and **Stop** options.
  * **Exiting:** Users can exit the Workspace by simply closing the web browser tab.
  * **Stop:** The **\[Stop]** button terminates all running processes and stops further credit deduction.
  * **Restart:** The **\[Restart]** button reboots the container to refresh the environment.

{% hint style="warning" %}
Closing the browser tab does not stop the container. Users must manually click **\[Stop]** to prevent continued credit usage.
{% endhint %}

## Sidebar <a href="#sidebar" id="sidebar"></a>

The Sidebar is an area that helps you easily access key features needed for development.

### &#x20;<img src="/files/0TiJrt6TE8ArkqBY0xdL" alt="" data-size="line"> Side Chat

Clicking on the **\[Side Chat]** button will open a Side Chat on the left side of the Workspace, where you can converse with the **AI Code Assistant**.

<figure><img src="/files/eWj1rIxVNGOlsKdHDUay" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Side Chat is only available for the container's **owner**.
{% endhint %}

{% content-ref url="/pages/eGdbEwISgVyHNNZbAJep" %}
[Side Chat (Workspace)](/user-guide/workspace/side-chat-workspace)
{% endcontent-ref %}

### <img src="/files/Lk5k5dVEU7LMnAjY5r3C" alt="" data-size="line"> Project

The **\[Project]** button opens the Project Sidebar area. The project sidebar is a type of file explorer that allows you to create, edit, and delete project files and folders.

You can click on files, such as a README or source code, to open them in the editor.

<figure><img src="/files/XoUCXeDeFurOWIjtwyG2" alt=""><figcaption></figcaption></figure>

#### ➕ **Create Files & Folders**

Click the <img src="/files/dhfvxibwH6SA5CGuoD78" alt="" data-size="line"> **button** to create new **files, folders** and sub projects within your project.

#### **Folder Management**

* Use the <img src="/files/TKTepuOtudegQofGi1uc" alt="" data-size="line"> **icon** to collapse all folders.
* Click the <img src="/files/56IMxtpOgU1QVUSy9U6W" alt="" data-size="line"> **refresh button** to update the file tree and keep it in sync.
* Click the <img src="/files/il5pq4SkqH9OPFDa9boc" alt="" data-size="line"> **more actions button** to access project-level utilities, such as renaming the container, uploading local files or folders, and downloading items from the workspace.

#### **Right-Click for File Actions**

Right-click on a file to access all available file-related features, including renaming, deleting, moving, and more!&#x20;

### <img src="/files/mcnjx4NnTkNmEK1r9xxu" alt="" data-size="line"> [Search](/user-guide/workspace/search)

The **\[Search]** button opens the Search Sidebar area.

Enter a keyword in the input field at the top to view all matching results, grouped by file. This is useful when searching across your entire project.\
Each result displays the file name, line number, and matching content. You can quickly jump to the relevant location by clicking the matching result.

<figure><img src="/files/yd5z8xOJHDBX9p7y3uTe" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/bfWKiX94ddLl2PD51dqr" %}
[Search](/user-guide/workspace/search)
{% endcontent-ref %}

### <img src="/files/ylhClbu0UTV9T4dODbVC" alt="" data-size="line"> [Git](/user-guide/workspace/source-code-management-with-git/git-sidebar)

It opens Git, a distributed version control system, in the Sidebar to track and synchronize changes to files. Arkain provides support for most common Git commands.

<figure><img src="/files/XGxhDCXrApaaoRdbq5JS" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/zrB2kVZvKtZLOahsLJWh" %}
[Git Sidebar](/user-guide/workspace/source-code-management-with-git/git-sidebar)
{% endcontent-ref %}

### <img src="/files/hzGQP0BFMrsjxcy6nvn7" alt="" data-size="line"> [Share This Container](#share-this-container-sidebar)

You can share your container with other Arkain users to collaborate or showcase your projects.

<figure><img src="/files/3IYDyGI8QzXlLTxm8Ook" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/DV1g0ryp8T03Q2LFsaZn" %}
[Container Sharing](/user-guide/workspace/collaboration/container-sharing)
{% endcontent-ref %}

### <i class="fa-bell">:bell:</i> Notifications

You can receive real-time notifications of various events occurring in your project.

* **Mark as Read**: Click the **\[Read]** button on individual notifications or use the **\[Read All]** button to clear all notifications
* **Category Filter**: View notifications by category using All, Containers, Collaboration, and Credit tabs

### <img src="/files/kOjf5tGvhY8ZTnpt6wLS" alt="" data-size="line"> Help

Here, you can find Arkain's features, view shortcuts, and access help.

<figure><img src="/files/27aIgPxbmzwbowKXbrn6" alt=""><figcaption></figcaption></figure>

* **View All Shortcuts**: View all available [keyboard shortcuts](/user-guide/workspace/keyboard-shortcut) in Workspace.
* **Notice**: Check the latest Arkain announcements.
* **Guides**: Access Arkain guides.
* **What's New**: View the latest updates and new features via Arkain Release Note.
* **Discord**: Join the Arkain community and connect with other users.
* **Contact Us**: Click to open a chat window for direct support. Unread responses can be identified by the notification dot on the Help button and the chat bubble in the bottom right corner.

### &#x20;<img src="/files/ocubsqrDtnvFFUzs0hXz" alt="" data-size="line"> Preference

You can open the project settings tab. You can change the editor, terminal, theme styles, and Image Viewer settings.

<figure><img src="/files/hnZi7BhcjXHSKjM5mGJH" alt=""><figcaption></figcaption></figure>

### <img src="/files/7kBlEa7T316YqTIJnA6F" alt="" data-size="line"> Credit Usage

You can check your real-time credit balance and estimated uptime for the current container. You can monitor specific credit consumption for running containers, storage, and traffic, as well as purchase additional credits or view your complete billing history.

<figure><img src="/files/Ztef6bhYu4lr7EobFkvV" alt=""><figcaption></figcaption></figure>

### <img src="/files/dsbr6RUEt4MtMHpxOhDq" alt="" data-size="line"> Account

You can navigate to the page where you can manage your member profile and container information.

<figure><img src="/files/NmfLSVPMjIXAYeMK1Wwo" alt=""><figcaption></figcaption></figure>

* **Account** : You can navigate to the Account Settings page to edit your account information.
* **Container Info** : You can navigate to the Container Settings page to configure detailed container settings.
* **Go to Container Console :** Exits the Workspace and returns you to the Dashboard page.
* **Log out** : You can log out.

## [Editor](/user-guide/workspace/editor) <a href="#editor" id="editor"></a>

The Editor section of the Workspace shows the content of the file you have currently selected. From the top-right corner of the Editor, you can manage multiple open file tabs and access additional actions.

{% content-ref url="/pages/vmZxNnEdEoNqR9PrqHox" %}
[Editor](/user-guide/workspace/editor)
{% endcontent-ref %}

## Toggle Panel <a href="#terminal" id="terminal"></a>

In Arkain's toggle panel, you can use the terminal.

### <img src="/files/SzNiRugmOpm3jleaAmrs" alt="" data-size="line"> Terminal

**Arkain** provides a built-in terminal, so developers who are familiar with command-line interfaces can use it for advanced tasks.

By default, the terminal is available as the Terminal tab in the toggle Panel of the Arkain interface. To open it in a new terminal window, go to **\[Menu]**(<img src="/files/PuNfN4ks9KZeSLNX5wDc" alt="" data-size="line">) → **\[New Terminal Window]** or press the default shortcut <kbd>Alt</kbd> + <kbd>Shift</kbd> + `T` (macOS <kbd>⌥</kbd> <kbd>⇧</kbd> <kbd>T</kbd>).&#x20;

You can open the Terminal in a new window by right-clicking on a folder or file in the Project Sidebar and clicking the **\[Open Terminal with this location]** menu, which will automatically take you to the folder.

<figure><img src="/files/0avg8XqWtBuSzTrgWNKP" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
As a docker container-based service, Arkain does not support system privileges for containers due to security policy. Therefore, commands that access system resources such as `ufw`, `systemctl`, `docker`(docker in docker) cannot be used.
{% endhint %}

#### Terminal Tab Control Guide&#x20;

Manage your terminal sessions using the buttons located on the terminal tab.

* Refresh(<img src="/files/mAcIvnS7sUVG0UP4RCDQ" alt="" data-size="line">) Button: Restart Terminal Session
  * Clicking this will re-initialize the current terminal session.
  * Use this to reset the session or apply new environment settings.
* Close(<img src="/files/6HnTl69KILqtSydQAOu4" alt="" data-size="line">) Button: Close Terminal & Terminate Processes
  * Clicking this closes the terminal tab and stops all active processes running within that session.

{% hint style="info" %}
If you need a process to continue running after closing the tab, we recommend using the default terminal or executing the task with background commands (e.g., `nohup`, `pm2`).
{% endhint %}

## Bottom bar <a href="#terminal" id="terminal"></a>

The bottom bar is an area that provides various tools and information to enhance convenience when using Arkain. It includes the editor's code Lint and Editor information, along with the Toggle Panel and Auto-stop toggle buttons.

#### Edit Status Area

The Edit Status Area displays linting check results and editor line information. **Lint** is a tool that identifies and notifies errors related to syntax and code style in the source code.&#x20;

The **Edit Status Area** shows, from left to right, the **lint errors**, **lint warnings**, and the total number of lines in the editor along with the current cursor position in the format of '`number:number`'.

<figure><img src="/files/NDDQaI0he5EITXdLvMEU" alt="" width="86"><figcaption></figcaption></figure>

{% hint style="warning" %}
The lint information is only available in the Python container.
{% endhint %}

### **Toggle Button**

<figure><img src="/files/RGu6FHkYIns6PI7gBfxe" alt=""><figcaption></figcaption></figure>

* **Terminal**: You can open and close the Terminal panel. Closing the Toggle Panel allows you to focus more on your code.
* **Auto-stop**: You can toggle the feature to automatically stop container usage when the browser is closed.

{% content-ref url="/pages/H5tvZEDDLWhoRRpBopgi" %}
[Auto-stop](/user-guide/dashboard/container/container-management/container-settings/auto-stop)
{% endcontent-ref %}


# Side Chat (Workspace)

**Side Chat** is a powerful LLM-driven assistant integrated directly into your Workspace. It moves beyond simple Q\&A by understanding your entire project context, suggesting code, and even executing tasks autonomously.

<figure><img src="/files/XnsoLW6biVDzHEplbzrZ" alt=""><figcaption></figcaption></figure>

***

## Getting Started

* **Access:** Open Side Chat(<img src="/files/0TiJrt6TE8ArkqBY0xdL" alt="" data-size="line">) from the Sidebar in your Workspace.
* **Model Selection:** Select your preferred LLM from the dropdown menu before starting a conversation. You can check the credit consumption for each model in the [**\[Supported Models\]**](/user-guide/arkain-ai/supported-models) guide.
* **Chat Context:** Side Chat maintains context within a single chat, ensuring a seamless flow of interaction as you build your project.

## The Three Modes of Side Chat

Choose the mode that best fits your current objective. You can switch between them using the dropdown menu in the input box.

#### 1. [Agent Mode](/user-guide/workspace/side-chat-workspace/agent-mode) (Autonomous Execution)

* **Best for:** Automating repetitive tasks, creating new files, and running terminal commands.
* **How it works:** An autonomous agent that can independently explore your codebase, modify files, and use terminal tools to complete tasks on your behalf.

#### 2. [Plan Mode](/user-guide/workspace/side-chat-workspace/plan-mode) (Collaborative Strategy)

* **Best for:** Designing new features or complex refactorings that require a roadmap.
* **How it works:** The AI interacts with you through interactive questions to clarify your intent. It then generates a structured Action Plan (.md) in your editor. You can view and edit this plan manually.
* **Execution:** Once you are satisfied, click the **\[Approve & Run]** button to transition to Agent Mode and implement the plan.

#### 3. Ask Mode (Read-Only)

* **Best for:** Explaining code, debugging advice, and general questions.
* **How it works:** A conversational assistant that can read your files but cannot modify them. It provides code snippets you can manually copy or apply.

## [Skills](/user-guide/workspace/side-chat-workspace/skills) & Capabilities

**Skills** are specialized tools the AI uses to interact with your environment. Powered by the MCP (Model Context Protocol) framework, they allow the AI to perform actions beyond just generating text.

* **Code Search:** Finding specific logic across your entire project.
* **Terminal Execution:** Running builds, tests, or installations.
* **Web Fetch:** Retrieves and references live web content, such as documentation or API specifications, during task execution. Domain permissions and restrictions are managed through the **Preferences** panel.

## Key Features for Precision

#### Adding Context

To get the most accurate results, give the AI visibility into your work:

* **Files:** Click the **\[Add context]** button to reference specific files. You can quickly pick from your 5 most recently opened files or find any file by name or path within the project.
  * **Mention a file inline**: Type `@` anywhere in the chat input to open a file search dropdown. Start typing the file name or path to filter results, then press <kbd>Enter</kbd> or click to insert the file as a chip. The chip displays the file's icon and name. Click the chip to open the file in the editor.
  * **Mention code from the editor**: Select code in the editor, then press <kbd>Ctrl+L</kbd> (<kbd>Cmd+L</kbd> on Mac) to insert it as a mention chip in the chat input. Alternatively, copy the selection (<kbd>Ctrl+C</kbd>) and paste it into the chat input (<kbd>Ctrl+V</kbd>). The chip shows the file name and line range (e.g., `App.jsx(10-25)`). Click the chip to jump to those lines in the editor.
* **Images:** Click the **\[Upload Images]** button or drag and drop images directly into Side Chat. The LLM analyzes the content to enhance its response—perfect for UI debugging or mockup analysis.
  * **Note:** Uploaded images are saved within your project folder. You can freely upload images within your container's storage capacity.

| Feature    | Details                              |
| ---------- | ------------------------------------ |
| Capacity   | Up to 5 images per message           |
| Size Limit | Max 20MB per image (Auto-compressed) |
| Formats    | JPG, PNG, SVG, and more              |

#### Applying Code Suggestions (Ask & Plan Modes)

In **Ask** and **Plan** modes, you can manually integrate suggested code into your editor:

* **Apply/Insert:** Integrate code directly into your editor or at your cursor position with one click.
* **Diff View:** Review changes in a "Before/After" view. Use **\[Accept]** or **\[Discard]** to finalize the edits.

#### Managing Chat History

Never lose a valuable solution by utilizing the built-in history features:

* **Persistent History:** Click the **History icon** (top right) to open the history popover and view all past chats across your Workspace.
* **Managing History**: In the history popover, hover over a chat room to access the following actions:
  * **Pin**: Pin a chat to keep it readily accessible (no limit). Pinned chats are ordered by pin time, earliest at the top.
  * **Rename:** Change the name of the chat.
  * **Delete:** Remove the chat.

#### Message Queue

Side Chat supports a message queue, allowing you to type and send follow-up messages while the AI is still generating a response.

* **Queue messages**: Send up to 5 messages while the AI is responding. Messages appear in order and are sent automatically once the current response completes.
* **Model Switching:** If you change the selected model while messages are queued, the remaining messages will be sent using the newly selected model.
* **Queue Persistence:** Queued messages are saved when you close or refresh the browser tab. When you return to the same conversation, click \[Resume Sending] to continue where you left off, or \[Discard All] to clear the queue.
* **Interruptions:** If you stop a response or an error occurs, the queue pauses. You can click \[Continue Sending] to resume, \[Skip & Continue] to skip the failed message and proceed with the rest, or \[Discard All] to clear the queue.

## Tips for Efficient Use

Maximize your productivity by using the right prompts and context.

* **Be Specific:** Clear instructions yield higher-quality results.
  * *"What’s wrong with this function? \[Code snippet]"*
  * *"Can you optimize this SQL query?"*
  * *"Explain this Python error: \[Error message]"*
* **Vibe Coding:** Describe high-level requirements (e.g., *"Build a simple auth middleware"*), and let Side Chat generate the necessary logic or file structures for you.
* **Keep Context Relevant:** Use \[Add Context] to focus the AI's "attention" on specific files to avoid hallucinations.
* **Review First:** Always use the Diff View to ensure AI suggestions align with your project logic before accepting.
* **Master the Workflow:** For large tasks, start in **Plan Mode** to align on the strategy. Once the plan is solid, use Approve & Run to let the Agent handle the implementation.

***

With Side Chat in Arkain, you have the power of LLMs right at your fingertips to solve problems faster, learn better, and keep track of all your conversations with ease!


# Agent Mode

<figure><img src="/files/kAQXGTYtiWf6ir7dBsS4" alt=""><figcaption></figcaption></figure>

**Agent Mode** transforms Side Chat from a conversational assistant into an autonomous AI partner. Unlike Ask Mode, the Agent independently explores your codebase, creates or modifies files, and executes terminal commands—all while keeping you informed and in control.

***

### Advantages of the Agent Mode

* **Solving Container Resource Issues:** Because the agent runs without needing heavy local installations, it completely resolves the resource drain and performance bottlenecks typically caused by running resource-intensive CLI tools within the container.
* **Perfect Synergy with Arkain's Ecosystem:** The AI Agent seamlessly integrates with the existing environments and powerful features provided by Arkain. By fully leveraging these native capabilities, the agent delivers far superior and more accurate results for your projects.
* **Access to Existing Side Chat Features:** You can still utilize all the useful features provided by the existing Side Chat while using the Agent Mode, making your workflow even more convenient and fluid.

### How the Agent Works

Once you provide a requirement, the Agent follows a transparent, step-by-step workflow:

1. **Code Exploration:** The Agent searches your files using pattern matching and content search to understand the project structure.
2. **Action Plan:** The Agent generates a plan displayed as a checklist above the input area, allowing you to track its progress in real-time.
3. **Thinking Process:** Between actions, the Agent's reasoning is displayed in real time, so you can follow its approach and decision-making.
4. **File Changes & Diff View:** When the Agent modifies or creates files, the changes appear instantly in the Diff Viewer. You can inspect every addition or removal before they are finalized.
5. **Terminal Execution:** If a terminal command is required, the Agent presents the command for your review before execution.
6. **Web Fetching:** The Agent can access external URLs to retrieve live documentation, API specifications, or technical updates to ensure the implementation follows the latest standards.

### Control & Safety: Reviewing Actions

The Agent requests your approval before executing terminal commands:

* **Accept / Reject:** Each command suggestion shows **\[Accept]** and **\[Reject]** buttons. Click **\[Accept]** to allow execution, or **\[Reject]** to decline.
* **Command Results:** Once a command is executed, the terminal output is displayed directly within the conversation for your review.
* **Stopping the Agent:** Click the **\[Stop]** button at any time to immediately halt the Agent's current operation.

{% hint style="info" %}
For file modifications, the Agent applies changes automatically, but you can review every change through the diff viewer that shows exactly what was added, removed, or modified.
{% endhint %}

{% hint style="warning" %}
The conditions under which the approval dialog appears can be customized through Agent Permissions below.
{% endhint %}

***

### Agent Permissions

You can configure fine-grained permissions for the Agent through the "Agent Permissions" section in Preferences. All permission rules can be managed via the GUI. Your permission settings are saved and persist across conversations.

#### 1. Approve All

When Approve All is enabled, all actions are performed without asking. Deny rules always take precedence — even with Approve All enabled, denied commands are always blocked.

#### 2. Tool Permissions

Control the Agent's access to file, search, and execution tools. Each tool can be set to Allow (default) or Deny. When a tool is set to Deny, the Agent is blocked from invoking it — any attempt to call the tool will be intercepted and rejected before execution.

* **Explore:** Keyword search, file pattern matching, and directory listing
* **Read:** File reading and code analysis
* **Write File:** File creation
* **Edit File:** File editing
* **Command:** Terminal commands (including destructive operations)
* **Web Fetch:** Fetch and analyze external web content

#### 3. Web Domain Restrictions

Users can manage access to external web content by defining allowed and denied domains in Preferences.

* **Allowed Web Domains:** URLs matching these domains (e.g., `*.github.com`) are accessed without confirmation.
* **Denied Web Domains:** URLs matching these domains (e.g., `142.250.0.*`) are strictly blocked.
* Any attempt to access a strictly blocked domain is intercepted and rejected immediately to ensure secure browsing.

#### 4. Command Permissions&#x20;

Command permissions use a `cmd:args` pattern format (e.g., `git:`*,* `rm:`, `npm:install`) and follow a strict priority order:

1. **Allow patterns:** Commands matching an Allow pattern are immediately executed without an approval dialog.
2. **Deny patterns:** Commands matching a Deny pattern are immediately rejected
3. Unmatched commands: If a command does not match any pattern, an approval dialog will appear.  Click **\[Accept]** to allow execution, or **\[Reject]** to decline.

{% hint style="info" %}

#### **Note on UI Interaction**

Input fields for "Allow" patterns or domain lists are automatically disabled if **Approve All** is active or if the corresponding tool is set to **Deny**, as these configurations become redundant when the tool is globally permitted or strictly blocked.
{% endhint %}

#### 5. File Access Restrictions

You can define file path Deny patterns using glob syntax (e.g., `/.env`, `/secrets/**`).

* When the Agent attempts to access a file that matches a Deny pattern, the operation is blocked and the Agent receives an error, prompting it to find an alternative approach.&#x20;
* This protects sensitive files such as environment variables, credentials, and secret configurations from unintended access.

***

### **Customization**

Under Preferences → AI Agent → Customization, you can tailor the agent's behavior and environment to match your project's specific requirements.

#### 1. Custom Instructions via `ARKAIN.md`

You can provide specific context and tailored instructions to your agent simply by adding an `ARKAIN.md` file to your project. Guide your agent to perform tasks exactly the way your project requires!

**How to Edit:** Click the \[Open ARKAIN.md] button in the Custom Instructions section to open and edit the file directly within the editor.

#### 💡 `ARKAIN.md` Example&#x20;

Create an ARKAIN.md file in your project's root directory. The Agent will read it automatically and follow the instructions when generating code.

```markdown
## Brief Project Description
This is a Todo management web application running on the Arkain platform.

## Tech Stack
- Frontend: React, TypeScript
- Backend: Node.js, Express
- Database: MongoDB

## Development Rules
- Use camelCase for all variables and function names.
- Always leave a comment explaining the reason for any code modifications.

## Precautions
- Never hardcode sensitive information like database passwords; always use environment variables.
```

#### 2. Suggested Questions

Get smart suggestions for your next question based on the agent's response. This helps you keep the conversation flowing seamlessly and efficiently.

* **How to Configuration:** Use the toggle switch next to Suggested Questions to easily turn these automated recommendations on or off.
* **Available Modes**: Suggested Questions are provided in **Agent** and **Ask** modes. In **Plan** mode, suggested questions are not provided by default.

***


# Plan Mode

**Plan Mode** transforms Side Chat into a collaborative planning partner. Instead of making changes directly, the AI analyzes your codebase and works with you through interactive questions to build a clear action plan — before any code is touched.

***

### **When to Use Plan Mode**

Plan Mode is ideal for complex tasks where architectural decisions or multiple implementation paths exist. Use it when:

* **Designing New Features:** Mapping out file structures and logic flows from scratch.
* **Complex Refactoring:** Identifying dependencies and risks across multiple files.
* **Strategic Alignment:** Ensuring the AI's intended approach matches your project's standards before execution.

### **How Plan Mode Works**

Once you describe what you want to accomplish, the AI follows a collaborative workflow:

{% stepper %}
{% step %}

#### Code Exploration

The AI searches and reads your project files to understand the current architecture and relevant logic, similar to the initial stage of Agent Mode.
{% endstep %}

{% step %}

#### Interactive Discovery (Question Cards)

When requirements are ambiguous or multiple paths are possible, the AI will not guess. Instead, it presents **Interactive Question Cards**:

* **Choice Buttons:** Select from predefined options to quickly guide the AI.
* **Free Input:** Provide custom text instructions to refine the requirement.
* **Dynamic Updates:** Once you respond, the card updates to show your answer, and the AI proceeds with the new context.
  {% endstep %}

{% step %}

#### Action Plan Generation (.md)

The AI generates a structured **Action Plan** in Markdown format that opens directly in your editor. This plan is **fully editable**, allowing you to manually refine steps or implementation details. Your edits serve as the final source of truth for the execution phase.
{% endstep %}

{% step %}

#### Execution: Approve & Run

Plan Mode itself is **read-only**. To bring the plan to life:

1. **Review & Edit:** Finalize the Markdown plan in your editor.
2. **Approve:** Click the **\[Approve & Run]** button in the Side Chat.
3. **Transition:** The session automatically transitions to [**Agent Mode**](/user-guide/workspace/side-chat-workspace/agent-mode), where the AI uses the finalized plan as its instruction set to perform the actual implementation.
   {% endstep %}
   {% endstepper %}

{% hint style="warning" %}
**Plan Mode** is read-only — the AI cannot modify files, create files, or execute terminal commands.
{% endhint %}

***


# Skills

<figure><img src="/files/vOwmAEaYfkrIP73VZY2b" alt=""><figcaption></figcaption></figure>

**Skills** allow teams to capture repeatable workflows—such as code review checklists, commit conventions, or migration playbooks—as reusable instructions that the Side Chat agent follows on demand. Once defined, these skills can be invoked manually via slash commands or automatically by the AI when the context is relevant.

***

### Getting Started: Creating a Skill

Skills are managed through through the **Preferences** menu.

1. Navigate to **Preferences > Skills**.
2. Click the **\[New Skill]** button located on the right side of the page.
3. Fill in the required fields in the **Create New Skill** popup:

<table><thead><tr><th width="191" align="center">Field</th><th width="107" align="center">Required</th><th>Notes</th></tr></thead><tbody><tr><td align="center"><strong>Name</strong></td><td align="center">✅</td><td>Identifier using lowercase letters, numbers, and hyphens only (max 64 chars).</td></tr><tr><td align="center"><strong>Description</strong></td><td align="center">✅</td><td>Explain when the agent should call this skill. The LLM uses this to decide when to invoke the skill automatically. (Max 1,024 chars).</td></tr><tr><td align="center"><p><strong>Instruction</strong></p><p>(SKILL.md body)</p></td><td align="center">✅</td><td>The actual guidance the agent should follow. Including specific rules and examples leads to better results.</td></tr><tr><td align="center"><strong>License</strong><br>(Advanced)</td><td align="center">⬜</td><td>Optional license tag for the skill itself.</td></tr><tr><td align="center"><strong>Compatibility</strong> (Advanced)</td><td align="center">⬜</td><td>Optional environment notes. (Max 500 chars)</td></tr></tbody></table>

### Managing Skills

* **Editing & Renaming:** Clicking a skill in the list opens the edit dialog. Renaming a skill renames its physical folder on disk and migrates its current status (enabled/disabled) to the new name.
* **Enabling/Disabling:** Each row has a toggle on the right.
  * **Enabled:** The skill can be called via slash commands and is available as an auto-invokable tool.
  * **Disabled:** The skill remains on disk but is not loaded into the conversation.
* **Active Limit (Max 10):** Up to 10 skills can be enabled simultaneously. Once the limit is reached, toggles for disabled skills are greyed out with a tooltip: *"You have reached the maximum number of active skills. Disable another skill first."*
* **Parsing Errors:** If a `SKILL.md` has invalid formatting or missing required fields, it appears in a "Parsing errors" section. Use the **\[Open file]** link to fix the syntax in the editor.

{% hint style="info" %}
If you try to rename a skill to one that already exists, the dialog blocks the save with a clear **"A skill with the same name already exists"** error instead of a generic failure toast.
{% endhint %}

***

### Project Structure

When you save a skill, Arkain automatically creates a dedicated folder within your project at `.arkain/skills/`.

```
<project>/
└── .arkain/
    └── skills/
        ├── code-review/
        │   └── SKILL.md
        └── commit-message/
            ├── SKILL.md
            └── examples.md
```

**The SKILL.md Format**

The `SKILL.md` file uses Markdown with a **metadata block** at the top for configuration, followed by the instructions.

**Example (code-review/SKILL.md):**

{% code title="code-review/SKILL.md" %}

```markdown
---
description: "Review the changed files and report bugs, performance issues, and readability concerns in three separate sections."
license: "MIT"
compatibility: "claude-3-5-sonnet"
---
# [Skill Title]
## Guidelines

When this skill is invoked, follow these steps:
1. Read every changed file to understand the surrounding context.
2. Report potential bugs, performance issues, and readability concerns in
   separate sections.
3. Suggest concrete edits, not just observations.
```

{% endcode %}

***

### Using Skills in Side Chat

#### 1. Explicit Slash Invocation

Trigger a specific skill by typing `/` followed by the skill name anywhere in your message.

> `/code-review take a look at the latest commit`

* **Chaining:** Multiple skills can be invoked in one message: `/code-review /commit-message`.
* **Visual Feedback:** Recognized slash tokens render as monospace chips in the input box and chat bubbles.

#### 2. Automatic Invocation

Enabled skills are exposed to the AI as the `invoke_skill` tool. If the AI determines a skill is relevant based on its **description**, it invokes the skill automatically. A visual marker (e.g., `/code-review used`) appears in the conversation history to indicate its use.

***

### Tips for Writing Good Skills

* **Make `description` count.** It is the line the LLM reads to decide whether to invoke the skill on its own. Be specific about *when* the skill should fire and *what* it produces.
* **Write the instruction like a checklist.** Numbered steps and explicit output formats lead to far more consistent results than free-form prose.
* **Keep the body focused.** Instructions over \~3,000 characters trigger a length warning in the editor; move large reference material into a sibling file (`examples.md`, `style-guide.md`) and reference it from the instruction.
* **Name with intent.** The skill name *is* the slash command. `/code-review` reads better in chat than `/cr-helper-v2`.

### Common Scenarios

| You want to...                                                 | Use this                                                                                 |
| -------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| Apply the same commit-message convention every time            | `/commit-message` (explicit invocation)                                                  |
| Run a fixed PR review checklist                                | `/code-review` (explicit invocation)                                                     |
| Have the agent automatically apply a domain rule when relevant | Encode the trigger condition in `description`, leave the skill enabled (auto-invocation) |
| Park a skill you're still drafting                             | Keep it disabled until it's ready                                                        |

***

With **Skills**, your team's hard-won conventions live next to the code they apply to, and Side Chat can apply them with a single slash — or pick them up on its own when the moment is right. For more on how Side Chat orchestrates these calls, see [**Agent mode**](/user-guide/workspace/side-chat-workspace/agent-mode).


# File Management

Arkain provides a full range of functions for managing your project files through the Project Sidebar. The Project Sidebar acts as a file explorer, and most file management tasks begin here.


# New File / Folder

The **New File and New Folder** features allow you to add items directly into the **Project Sidebar**.

There are two ways to create a new file or folder:

### Clicking the \[+] button

1. Select the location in the Project Sidebar where you want the item to appear.
2. Click the \[+] icon at the top in the Project Sidebar.
3. Select **\[New File]** or **\[New Folder]**.

### Using Right-clicking

1. Right-click on any sub project or folder in the Project Sidebar.
2. Select **\[New File]** or **\[New Folder].**

An input field will appear at the currently selected location in the Project Sidebar. Enter the desired name and press Enter to confirm. This will create the new item within the chosen location.

{% hint style="warning" %}

* The name must be unique within your project.
* A few characters that could cause functional issues are restricted, including /, \\, :, <, >, $, quotes or control characters. File names cannot be comprised solely of spaces or periods ('.') either.
  {% endhint %}

When you create a new file, an editor for that file will automatically open in the Workspace, allowing you to start editing immediately. New folders are added directly to the selected location and can be used to organize your files.


# Move / Rename / Delete

## Move File

The Move feature allows you to move files or folders from their current location to a desired location. In Arkain's **Project Sidebar**, select the file/folder you want, right-click, and choose **\[Move]** to relocate it.

{% stepper %}
{% step %}
Select the file or folder you want to move in the **Project Sidebar**.
{% endstep %}

{% step %}
Right-click and select **\[Move]** from the menu.
{% endstep %}

{% step %}
In the newly opened **Move file popup**, select the desired location in the file tree and click the **\[OK]** button.
{% endstep %}

{% step %}
The file or folder will be moved to the specified location.
{% endstep %}
{% endstepper %}

Alternatively, you can drag and drop the file or folder within the Project Sidebar. Simply click and hold the item, drag it to the desired folder, and release to move it.

{% hint style="danger" %}
Please be careful. If there is a file or folder with the same name in the destination, it will be overwritten.
{% endhint %}

## Rename File

The Rename feature allows you to change the name of files or folders in the **Project Sidebar**.

To rename an item, right-click the file or folder and select **\[Rename]**. An input field will appear in place of the existing name. Enter the new name and press Enter to confirm.

Alternatively, you can select the file or folder and press <kbd>**F2**</kbd>. This will immediately activate the Rename input field, allowing you to type a new name.

{% hint style="info" %}
If the new name already exists, the input field turns red and the change is blocked.
{% endhint %}

### Rename Container

You can also rename the container **by renaming the main project**.

To rename the container, open the **More Actions**(<img src="/files/PszS8K8q359pOuuSa1Xq" alt="" data-size="line">) menu in the **Project header** and select the **\[Rename Container]**.\
Alternatively, you can rename the container by selecting the main project and pressing <kbd>**F2**</kbd> (the same method used for renaming files).

Renaming the container updates the container name in both the **Project Sidebar** and the **Dashboard page**, ensuring the new name is applied across the Workspace and visible to collaborators.

{% hint style="warning" %}

* Only the container **owner** can rename the container.
* Containers can be renamed while running, but the editor will refresh right after, which may clear unsaved edits.
  {% endhint %}

## Delete File

The Delete feature allows you to remove files or folders from the **Project Sidebar**.

To delete an item, right-click the file or folder and select **\[Delete]**. A confirmation popup will appear, asking if you really want to delete the item. Click the **\[Delete File]** button in the popup to confirm and remove the file.

Alternatively, you can select the file or folder and press **`Ctrl` + `⌫`** Backspace (macOS `⌘` + **`⌫`**). This will also open the deletion confirmation popup.

{% hint style="danger" %}

* You can recover the deletion by pressing <kbd>**Ctrl**</kbd>**&#x20;+&#x20;**<kbd>**z**</kbd>, only when you delete the files or folders by using the **\[Delete]** button or <kbd>**Ctrl**</kbd>**&#x20;+&#x20;**<kbd>**⌫**</kbd> Backspace key.
* Please note that once the file or folder is deleted by command or is larger than 10 MB, it cannot be restored.
  {% endhint %}


# Copy / Paste / Duplicate

Copy/Paste/Duplicate allows you to duplicate files and folders within the **Project Sidebar**.

## Copy / Paste

To copy a file or folder, right-click the item in the Project Sidebar and select **\[Copy]**. Then, navigate to the target location, right-click, and select **\[Paste]** to complete the action.

Alternatively, you can use keyboard shortcuts: \
Select the file or folder you want to copy, press <kbd>**Ctrl**</kbd>**&#x20;+&#x20;**<kbd>**C**</kbd> (macOS <kbd>⌘</kbd> <kbd>C</kbd>), move to the desired location, and press <kbd>**Ctrl**</kbd>**&#x20;+&#x20;**<kbd>**V**</kbd> (macOS <kbd>⌘</kbd> <kbd>V</kbd>) to paste it.

Copied items will appear in the selected destination.

## Duplicate

You can also duplicate a file or folder directly.

To do this, right-click the item and select **\[Duplicate]**, or press <kbd>**Ctrl**</kbd>**&#x20;+&#x20;**<kbd>**Shift**</kbd>**&#x20;+&#x20;**<kbd>**A**</kbd> (macOS <kbd>⌘</kbd> <kbd>Shift</kbd> <kbd>A</kbd>).

Duplicating creates a copy of the selected item **in the same directory**, without requiring you to navigate to another location.


# Open / Close in Editor

In Arkain's **Project Sidebar**, you can open source code files using the editor. Arkain offers a standard Code Editor.

## Code Editor

The Code Editor is a text editor that can be opened within the editor section. To open a file, double-click the file you want to open in the **Project Sidebar**, press <kbd>Enter</kbd> (macOS <kbd>Return ⏎</kbd>), or right-click and go to **\[Open]**.

Depending on the file's extension, it may open in the default editor, or a document viewer. Some unsupported file extensions cannot be opened.

## Close <a href="#close" id="close"></a>

Files opened in the Editor section can be closed by clicking the **\[X]** button on the file tab. Alternatively, you can press the default keyboard shortcut <kbd>Alt</kbd> + <kbd>W</kbd>  (macOS <kbd>⌥</kbd> <kbd>W</kbd>) to close the open file.

You can also right-click a file tab in the Editor section and select \[**Close]** to close that file tab. Selecting **\[Close All]** will close all open file tabs.


# Upload / Download

Download files created in Arkain to your computer, or upload files from your computer to Arkain. Arkain also supports uploading files and folders.

## **Upload File**

Upload a file from your computer to Arkain. To upload a file:

{% stepper %}
{% step %}
Right-click on an empty area in the **Project Sidebar** and select **\[Upload File]**.
{% endstep %}

{% step %}
A pop-up will appear allowing you to **browse and select a file from your computer**.
{% endstep %}

{% step %}
The file will be uploaded to the currently selected location in the **Project Sidebar**.
{% endstep %}
{% endstepper %}

## **Upload Folder** <a href="#export-file" id="export-file"></a>

Upload a folder from your computer to Arkain. To upload a folder:

{% stepper %}
{% step %}
Right-click on an empty area in the **Project Sidebar** and select **\[Upload Folder]**.
{% endstep %}

{% step %}
A pop-up will appear allowing you to **browse and select a folder from your computer**.
{% endstep %}

{% step %}
The folder and its contents will be uploaded to the currently selected location in the **Project Sidebar**.
{% endstep %}
{% endstepper %}

## **Download File** <a href="#export-file" id="export-file"></a>

You can download project files from Arkain to your computer using the **Download File** feature.

{% stepper %}
{% step %}
Right-click on the desired file in the **Project Sidebar** and select **\[Download File]**.
{% endstep %}

{% step %}
Click the **\[Yes]** button to download the file to your computer.
{% endstep %}
{% endstepper %}

## **Download Folder** <a href="#export-folder" id="export-folder"></a>

Download a folder from Arkain to your computer. To download:

{% stepper %}
{% step %}
Right-click on the desired file in the Project Sidebar and select **\[Download ZIP]** or **\[Download Folder]**.
{% endstep %}

{% step %}
Choose your preferred compression format: ZIP, TAR, or TAR.GZ.
{% endstep %}
{% endstepper %}


# Compress / Extract File

If you want, you can compress a folder within the project to save storage space. Conversely, you can also extract compressed files.

## Compress

{% stepper %}
{% step %}
Right-click on a folder in the **Project Sidebar** and select the **\[Compress]**.
{% endstep %}

{% step %}
Enter the compressed file name, select the file type, then click the **\[OK]** button to compress the folder.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
Arkain only supports **ZIP**, **TAR**, and **TAR.GZ** compression file types.
{% endhint %}

## Extract File&#x20;

{% stepper %}
{% step %}
Right-click on the **compressed file** in the Project Sidebar, and select the \[**Extract File**].
{% endstep %}

{% step %}
When you click the **\[Yes]** button in the popup, the files will be extracted. You can also extract a compressed file by double-clicking it in the Project Sidebar.
{% endstep %}
{% endstepper %}


# Copy File Path

The **Copy File Path** feature allows you to quickly copy the relative or absolute path of a file or folder in your project.

To copy a relative path, right-click the file or folder in the Project Sidebar and select the **\[Copy Path]**. The relative path will be copied to your clipboard. This path always begins with the project name, making it suitable for use within the project workspace.

If you need the full system path, right-click the file or folder and select the **\[Copy Absolute Path]**. This will copy the complete path starting from `/workspace`, ensuring you have the exact location on your system.

Both options make it easier to reference files in your project configuration, documentation, or code.


# Editor

The **Editor** section of the **Workspace** displays the content of the currently selected file. You can perform several actions in the top-right corner of the Editor, such as format code with [Prettier](https://prettier.io/) or manage the file tabs if you have several open.


# Find and Replace

The **Find and Replace** feature allows you to search or replace text within the currently active file.

There are two ways to open the Find and Replace bar at the top-right of the Editor:

* Press <kbd>**Ctrl**</kbd>**&#x20;+&#x20;**<kbd>**F**</kbd> (Windows/Linux) or <kbd>**Cmd**</kbd>**&#x20;+&#x20;**<kbd>**F**</kbd> (Mac).
* Right-click inside the Editor and select the **\[Find and Replace]** from the context menu.

To open the bar with Replace expanded, press <kbd>**Ctrl**</kbd>**&#x20;+&#x20;**<kbd>**Alt**</kbd>**&#x20;+&#x20;**<kbd>**F**</kbd> (Windows/Linux) or <kbd>**Option**</kbd>**&#x20;+&#x20;**<kbd>**Cmd**</kbd>**&#x20;+&#x20;**<kbd>**F**</kbd> (Mac).

{% hint style="info" %}
If you have text selected when you open the bar, it is automatically filled in as the search keyword.
{% endhint %}

{% hint style="warning" %}
Replace is **not available** for users with **read-only permission**. Only the Find feature can be used.
{% endhint %}

#### Search Options

The Find bar includes three toggle buttons for refining your search:

* **Match Case** — Distinguish between uppercase and lowercase letters.
* **Match Whole Word** — Match only complete words, not partial matches within a longer word.
* **Use Regular Expression** — Treat the search term as a regular expression pattern.


# Go to Line

In Arkain’s editor, you can quickly move to a specific line using the **Go to Line** feature.

The **Go to Line** feaure allows you to jump directly to a line number by moving both the cursor and the visible screen to that position.

To use this feature, right-click inside the editor and select **\[Go to Line]**. An input field will appear where you can enter the desired line number. Alternatively, press the default shortcut <kbd>**Alt**</kbd>**&#x20;+&#x20;**<kbd>**Ctrl**</kbd>**&#x20;+&#x20;**<kbd>**G**</kbd> or <kbd>**Cmd**</kbd> **+&#x20;**<kbd>**F**</kbd> (Mac) to open the input field.

After entering the line number, press <kbd>Enter</kbd> to confirm. The editor will immediately move the cursor and view to the specified line.


# Convert Indentation

In Arkain’s editor, you can adjust indentation formatting using the **Convert Indentation** feature.

The **Convert Indentation** feature allows you to switch indentation between Tabs and Spaces. This makes it easy to standardize code formatting according to your project or team’s requirements.

When converting from Tabs to Spaces, the conversion follows the Tab Size defined in your Preferences. This ensures consistent spacing throughout the file.

To access this feature, open the editor, right-click, and select **\[Convert Indentation]**.


# Close

In Arkain’s editor, you can manage open files with various close options.

To close a single file, click the **\[X]** button on the file tab. This immediately closes the selected file tab from the editor.

For additional options, right-click on a file tab to open the context menu. From here, you can choose:

* **\[Close All]** to close every open file.
* **\[Close Other Tabs]** to close all files except the one you selected.
* **\[Close Tabs to the Right]** to close all files positioned to the right of the current tab.

If you only want to close saved files, click the **`…`** button at the top right of the editor and select **\[Close Saved]**. This will close all file tabs that have no unsaved changes.

{% hint style="info" %}
When the Workspace is split into multiple editor groups, close commands such as \[Close All], \[Close Other Tabs], or \[Close Tabs to the Right] only apply to the editors within the current split group, not across the entire Workspace.
{% endhint %}


# Split Workspace

In Arkain’s editor, you can view multiple files side by side using the **Split Workspace** feature.

The **Split Workspace** feature allows you to divide the editor into multiple panes to work on several files at the same time.

There are two ways to split the Workspace:

### Drag and Drop

1. Drag an editor tab and drop it into the desired position.
2. A purple highlight will appear, showing where the tab will be placed.
3. You can split the Workspace in any direction—top, bottom, left, or right.

### Click the Split button

1. Click the **Split** button at the top right corner of the editor.
2. This creates a new split group to the right of the current one.

{% hint style="success" %}
For maximum efficiency, you have full control over your screen real estate. Once you've split your Workspace, you can adjust the size of the panels by **clicking and dragging the divider line**. Furthermore, **double-clicking the divider line** allows you to instantly balance and set the split panels to equal sizes.
{% endhint %}

If all editors are closed, the default **Welcome screen** will appear. From here, you can right-click and select **\[Split Right]** or **\[Split Down]** to add a new split group to the Workspace.


# Commands

By using **Commands**, you can easily run your code. You can customize Commands.&#x20;

### Running Commands <a href="#running-commands" id="running-commands"></a>

To run commands, click the **\[Run]** button at the top right of the Workspace.

### Viewing Commands <a href="#viewing-commands" id="viewing-commands"></a>

In the **\[Run]** button dropdown, you can view the list of commands, and you can add new commands as needed.

### Adding a new Command <a href="#adding-a-new-command" id="adding-a-new-command"></a>

To add a new run command, click the **\[Add run command]** button in the **\[Run]** button dropdown. You can add up to 10 run commands.

Each command has a default script based on the container's base template. You can customize the command as needed.

### Managing Commands <a href="#managing-commands" id="managing-commands"></a>

To manage customized commands, you can click the config button in the **\[Run]** button dropdown. This will allow you to configure options and scripts for the selected command. You can also click the **\[Remove]** button on the run command settings tab to remove the command.


# Search

The **\[Search]** button opens the Search Sidebar area.

Enter a keyword in the input field at the top to view all matching results, grouped by file. This is useful when searching across your entire project.\
Each result displays the file name, line number, and matching content. You can quickly jump to the relevant location by clicking the matching result.

Additionally, you can search within a specific folder. In the **Project Sidebar**, right-click the desired folder and select **\[Search in This Directory]**. The search will then be limited to that folder and its subdirectories.


# Image Viewer

The **Image Viewer** supports convenient image inspection with features like zooming, background color selection, scaling options, and keyboard shortcuts.

### Opening Images

Clicking on an image file in **Project Sidebar** automatically opens the image in the viewer.\
Depending on the image dimensions, it will be scaled as follows:

* If the image is smaller than the viewer, it displays at **100% (actual size).**
* If the image is larger, it is scaled down to fit the screen while preserving its aspect ratio.

{% hint style="warning" %}
**Note:** The image viewer does not support previewing images **larger than 4MB**.
{% endhint %}

### Image Control with Toolbar

In the bottom-right corner of the Image Viewer, you'll find a toolbar that lets you control how the image appears — you can zoom in or out, change the background color, switch scaling modes, or access advanced settings.

<figure><img src="/files/WAxxrN5yYWrRGUElR86S" alt=""><figcaption></figcaption></figure>

#### Zooming In and Out

To zoom in or out:

* Click the **\[+] or \[-]** buttons in the toolbar.
* Use keyboard shortcuts:
  * **Zoom in:** <kbd>Ctrl + =</kbd> (macOS: <kbd>⌘=</kbd>)
  * **Zoom out:** <kbd>Ctrl + -</kbd> (macOS: <kbd>⌘-</kbd>)

Each action adjusts the zoom level by **10%**.\
If the current scale is a decimal (e.g., 23.2%), it will be **rounded to the nearest 10%** (e.g. zoom in → 30%, zoom out → 20%).

{% hint style="info" %}
The zoom range is limited between **10% and 300%**. Once the limit is reached, the corresponding button will be disabled.
{% endhint %}

#### Restoring Default Scaling

To return to the default scaling:

* Click the **\[View with default scaling]\(**<img src="/files/bHG04JXFHPQopQ5A8GaC" alt="" data-size="line">**)** button in the toolbar.
* Or press the shortcut <kbd>Ctrl + 0</kbd>(macOS: <kbd>⌘0</kbd>).

This resets the image to the scaling option defined in your settings (e.g., Actual Size or Fit Width and Height).

#### Adjusting Scaling Options

You can change how the image is displayed by clicking the **\[Change scaling option]\(**<img src="/files/cRZSdnmqHfBFjUHnQhuH" alt="" data-size="line">**)** button in the toolbar to open the dropdown menu.

From there, you can choose between:

* **Actual Size**: Displays the image at 100% of its original dimensions
* **Fit Width and Height** (default): Scales the image to fit the viewer while keeping its aspect ratio

#### Changing Background Color

You can change the image viewer’s background color for better visibility:

* Click the **\[Change background color]\(**<img src="/files/VpjK3YaBtTmBj8uuqCPd" alt="" data-size="line">**)** button in the toolbar.
* Select a color from the **color picker** in the toolbar.
* Click the **\[Reset]\(**<img src="/files/Bs34df9uaVMyXihLeEyl" alt="" data-size="line">**)** button to restore the default background color.
* Click the **displayed HEX code** to copy it to your clipboard.

{% hint style="info" %}
Scaling option and Background color changes apply **only to the current viewer** and do not affect other image viewers.
{% endhint %}

#### Advanced Settings

You can access **Image Viewer settings tab** in three ways:

* From the **background color picker**, click the **\[settings icon]\(**<img src="/files/AiZ1cgActmbSIloEmMiC" alt="" data-size="line">**)** in the top-right corner.
* From the **scaling options dropdown**, click the **Advanced Settings** at the bottom of the list.
* From the **Preference tab**, click the **Image Viewer** of the list.

In the settings tab, you can adjust:

* **Default background color**
* **Default scaling option** (e.g., Actual Size or Fit Width and Height)

{% hint style="info" %}
Changes in settings do **not affect currently open viewers**.
{% endhint %}


# Source Code Management with Git

Git is the most widely used distributed version control system. Git helps manage code changes efficiently and facilitates seamless collaboration in software development.

Arkain supports **GitHub**, and **Git-based** remote repositories.

* **GitHub**:

  GitHub is a cloud-based platform that hosts Git repositories. It provides a web interface to work with Git repositories and includes additional features like issue tracking, project management tools, and pull requests to collaborate on code. It also offers social features like following other developers and starring repositories.
* **Git**:

  Git is a distributed version control system (VCS) that allows multiple people to work on the same project simultaneously without overwriting each other’s work. It tracks changes in your code, enabling you to revert to previous versions, merge changes, and collaborate more efficiently.


# Git Sidebar

### Use most Git commands through the GUI

Clicking the **\[Git]** button(<img src="/files/YtPCl7M3p6yJD3ELQ6TU" alt="" data-size="line">) in the Sidebar allows you to manage source code versions. In the Git Sidebar, you can easily use Git-related features without commands.

<figure><img src="/files/fXS3D0YPe19y3ioRSt46" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
To use Arkain's distributed version control feature, a [GitHub](https://github.com/) account that supports Git repository hosting is required. GitHub is the most popular Git repository hosting service.
{% endhint %}

### Connecting to a GitHub remote repository

<figure><img src="/files/uehYBMLThb6hz3aKImcH" alt=""><figcaption></figcaption></figure>

{% stepper %}
{% step %}
Click the **\[Register repository]** button in the **Git Sidebar**.&#x20;
{% endstep %}

{% step %}
Select remote repository type from Git and GitHub options.
{% endstep %}

{% step %}
Click the **\[GitHub Authorization]** button to link your GitHub account.&#x20;
{% endstep %}

{% step %}
Select an existing repository from GitHub.&#x20;
{% endstep %}

{% step %}
If needed, fill in other required information and click the **\[Clone to repository]** button.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
To change the directory connected to the repository, go to the **\[Directory Setting]** tab in the Git window and select a different directory.
{% endhint %}


# Branch

You can easily manage branches using the **\[Branch]** tab(<img src="/files/LXgJqyuhQn4zS6b4AHVW" alt="" data-size="line">) in the **Git Sidebar**. It shows the list of currently created branches and indicates the branch you are working on.

You can change the branch you want to work on by selecting a branch from the branch list.

{% hint style="info" %}
Git provides different working directories for different branches, so if you switch to a different branch, your working directory will also change.
{% endhint %}

The Branch tab offers 3 commands. You can select a single branch to execute a command.

* **Create a new Branch**\
  Creates a new branch. Click the button and a pop-up window will appear where you can enter a name for the branch. Enter the branch name and click the **\[OK]** button to complete the branch creation.
* **Merge into selected branch**\
  Merges the selected branch into the desired branch.
* **Checkout new branch**\
  Moves the working directory to the selected branch. After clicking the button, the **\[Branch]** tab and Project Sidebar will update and you will see that your current location has been moved to the selected branch.

When you create a branch, you can select a starting point for the branch.

You can select the parent commit of the current working copy, a specific commit, a specific branch, a specific tag, or select a commit directly from the list of the last 15 commits.


# Changes / Histories / Event tabs

Check the revision status of the current project files / folders in the Changes, Histories, and Event tabs of the Git Sidebar. You can use key Git commands such as **Add, Commit, Push, Pull,** and **Ignore** here.

In the **Changes tab**, you can easily see whether a file is staged or unstaged at a glance. In the **Histories tab**, you can view commit history, and in **Event tab**, you can see what you've been working on using Arkain's Git GUI.

We've also added a walkthrough feature that tells you in more detail what caused the failure and offers solutions to the problem, making it easier for beginners who aren't familiar with Git.

## Examples of Errors <a href="#examples-of-errors" id="examples-of-errors"></a>

### **Commit**

* **Reason**: You haven't entered a commit message&#x20;
* **Solution**: After pressing the Commit button, fill in the commit message and commit again.

### **Checkout**

* **Reason**: This error occurs when you try to switch branches without saving your changes.
* **Solution**: There are 3 possible workarounds

{% stepper %}
{% step %}
Commit the changes directly to the current branch and then change the branch.
{% endstep %}

{% step %}
Force checkout to delete unsaved changes and then change branches.
{% endstep %}

{% step %}
Press Smart Checkout to merge your current changes into the branch you are switching to.
{% endstep %}
{% endstepper %}

### **Push**

* **Reason**: If you don't have permissions on the Git origin repository, the following error occurs.&#x20;
* **Solution**: After pressing the **\[Register Permissions]** button, enter ID, PW(Password), and push again.

### **Pull**

* **Reason**: Occurs when an automatic merge fails after receiving a Git pull.&#x20;
* **Solution**: Click View Conflicting Files to open a list of conflicting files. Resolve the conflicts in the open files before committing.


# Add

When you add or modify a file or folder, it is automatically added to Unstaged files.

You can change the status of all files or individual files to Staged by clicking the **\[+]** icon on the right side of the Unstaged files section or next to each file. Clicking the **\[-]** icon in the Staged file will change the file status to Unstaged.&#x20;

You can also delete individual files or all files in that state by clicking the **trash can icon**.

***


# Commit

Commit is a command that records changes made in the local repository. A commit permanently stores the changed files in the local repository, but it does not affect the remote repository.

{% stepper %}
{% step %}
Change the status of the files to staged files and write the commit message in the 'Commit message' field at the bottom of the Git Sidebar.
{% endstep %}

{% step %}
Click the **\[Commit to master]** button to record the changes in the staged files.
{% endstep %}
{% endstepper %}

Committed files are deleted from the Staged files list. If there are commits that have not been pushed, the **\[Push]** button on the top of the Git Sidebar is activated.


# Push

Push is a command that uploads committed changes from the local repository to the remote repository.

A commit permanently stores the changed files in the local repository, but it does not affect the remote repository.

If there are commits that have not been pushed, the **\[Push]** button on the top right of the Git Sidebar layout will be activated. Click the **\[Push]** button to save the changes to the remote repository.


# Pull

Pull is a command that downloads updated source code from the remote repository to your local repository.

Click the **\[Pull]** button in the top-right corner of the Git Sidebar. After a few seconds, the Project Sidebar will refresh and the repository will be updated with the latest revision.

If there are any conflicts between the existing files and the new version, you will see the conflict history on the right.


# Diff

Diff lets you see what changes have been made in your Arkain before committing to your linked Git account.

## How to use Diff <a href="#how-to-use-diff" id="how-to-use-diff"></a>

Clicking a file in the Unstaged files or Staged files list in the Git Sidebar will open the Diff tool. You can view the changes in the source code in the editor.

<figure><img src="/files/lHZsxsPBpBtQdvskuLdl" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Note**\
If you open the **\[Git]** tab and there is only a **\[Register repository]** button, you need to connect the repository first. See how to connect on [Import Github Repos](/user-guide/dashboard/container/container-management/import-github-repos) page.
{% endhint %}

### **The editor area**

<figure><img src="/files/K4CGTcvAqXrMdtkv4f2t" alt=""><figcaption></figcaption></figure>

You can compare the source code **before the change (left)** and the source code **after the change (right)**.

In the pre-change source code, **lines of code that were deleted are&#x20;**<mark style="color:red;">**highlighted in red**</mark> and marked with a '-' next to the line number. The after-change source code shows the **lines of code that were added with a&#x20;**<mark style="color:green;">**green highlight**</mark> and a '+' next to the line number.&#x20;

Also, the code that was actually changed is highlighted darker.

{% hint style="info" %}
**The status of the file determines which source code is compared.**

If you open the Diff Tool from a file that is ‘**off-stage’**, the source code before the change is the source code as of the last commit, and the source code after the change is the source code you are currently working on.

If you open the Diff Tool from a ‘staged file’, the pre-change source code is the source code at the last commit and the post-change source code is the source code at the time it was added to the stage, and modifying the source file does not modify the source code in the Diff Tool.

You can tell which status of the Diff Tool was opened in by looking at the Editor tab. Diff tool opened from `Files Removed from Stage` are named with the original filename followed by *(Working Tree)*, Diff tool opened from `Files Added to Stage` will have the original filename followed by *(Index)*.
{% endhint %}

<figure><img src="/files/Zxw4fEb5XTYqXR46AtWZ" alt=""><figcaption></figcaption></figure>

### **The button area**

The buttons area in the top right corner of the screen provides 4 functions.

<figure><img src="/files/SCUjKXeqfngNxkVvbYdT" alt=""><figcaption></figcaption></figure>

* **Open file**\
  Opens the Diff Tool's source file editor for the file you are currently viewing.
* **Previous change, Next change**\
  Moves the cursor to the previous, next change of the current cursor in the source code area after a change.
* **Toggle collapse unchanged regions**\
  Unchanged source code areas are hidden. If the unchanged source code area is small, it may not be hidden. Click the button one more time to see the full source code again.
* **Change the way the editor area is viewed**\
  You can change the placement of the source code before changes and the source code after changes. Click the `Split` button to change to a left-to-right orientation, or the `Inline` button to change to a top-to-bottom orientation.

### Editing in the Diff Tool

When the Diff Tool is opened from an unstaged (Working Tree) file, you can directly edit the source code in the after-change (right) panel.

Edits made in the Diff Tool are reflected in the original file in real time, and the file can be saved with the standard save shortcut (<kbd>Ctrl</kbd>+<kbd>S</kbd> / <kbd>Cmd</kbd>+<kbd>S</kbd>). The unsaved state is synchronized with the original file's editor tab.

{% hint style="warning" %}
**Note**

* Editing is only available for **Working Tree** diffs. Staged file diffs *(Index)* remain read-only.
* If the file size exceeds the allowed limit, editing will be disabled.
  {% endhint %}

#### Reverting changes by chunk

Each changed chunk in the diff has a revert button in the gutter (to the left of the line numbers).

Clicking it reverts only that chunk back to the last commit state, without affecting other changes in the file. This is available in both Split and Inline view modes.


# Collaboration

Arkain enables seamless real-time collaboration, allowing multiple developers to simultaneously edit the same file and work with teammates worldwide without time or space constraints.


# Container Sharing

You can share your container with others to collaborate or showcase your projects.

### Sharing a Container from the Workspace <a href="#sharing-a-container-from-the-workspace" id="sharing-a-container-from-the-workspace"></a>

You can also share a container from Arkain's Workspace. In the Workspace of the container you want to share, click the **\[Share This Container]**(<img src="/files/281DgD9oTE3RUSOqgKjL" alt="" data-size="line">) icon in the Sidebar.

The share options are provided as **segmented buttons**(<img src="/files/efjB97I0QxkSukNbFgrB" alt="" data-size="line">) — *Share as an email* and *Share by link*.

#### **Share as an email**

{% stepper %}
{% step %}
In the segmented button group, click the **\[Share as an email]** button, enter the email address of the user you want to share the container with.
{% endstep %}

{% step %}
When a matching Arkain user appears, click their name to add them to the invitation list. The added users are displayed as badges above the input field — you can click the **✕** icon on each badge to remove them from the list.
{% endstep %}

{% step %}
Set the sharing permissions by using the dropdown below the input field to define the access level for all invited users before sending the invitation.

<table><thead><tr><th width="241">Permission</th><th>Possible actions</th></tr></thead><tbody><tr><td>Readonly</td><td><ul><li>Source code view</li></ul></td></tr><tr><td>Editable (non-root)</td><td><ul><li>Source code view, <strong>edit</strong></li></ul></td></tr><tr><td>Editable (root)</td><td><ul><li>Source code view, edit</li><li><strong>Version control (Git)</strong></li><li><strong>Configuring init script</strong></li><li><strong>URL/Port</strong></li><li><strong>Environment Variable</strong></li></ul></td></tr><tr><td>Editable &#x26; sharable (root)</td><td><ul><li>Source code view, edit</li><li>Version control (Git)</li><li>Configuring init script</li><li>URL/Port</li><li>Environment Variable</li><li><strong>Sharing Container</strong></li><li><strong>Changing member permissions</strong></li></ul></td></tr></tbody></table>
{% endstep %}

{% step %}
Click the **\[Invite]** button to send an invitation email and share the container with the selected users.

{% hint style="warning" %}
You can only share a container with a **registered Arkain member's email**. You cannot share a container with the email of a member who is not registered on Arkain.
{% endhint %}
{% endstep %}
{% endstepper %}

#### **Share by link**

{% stepper %}
{% step %}
Click the **\[Share by link]** button.
{% endstep %}

{% step %}
Click the **\[Copy]**(<img src="/files/SrFCg5nGfJSeyFMeDqWz" alt="" data-size="line">) icon right to the URL and share the URL with the intended recipients.

{% hint style="warning" %}
Only members who have been invited to the container will be able to access the container using the link.
{% endhint %}
{% endstep %}

{% step %}
If needed, click **\[Refresh]**(<img src="/files/JnVXKSXuDHQWIga4FBBT" alt="" data-size="line">) icon to regenerate a new URL.

{% hint style="warning" %}
Regenerating a link will **invalidate the previous link** immediately.
{% endhint %}
{% endstep %}
{% endstepper %}

### Sharing a Container from the Dashboard <a href="#sharing-a-container-from-the-workspace" id="sharing-a-container-from-the-workspace"></a>

You can also share containers in the [Arkain Dashboard](https://arkain.io/my/dashboard) page.

{% content-ref url="/pages/VgxOlNMaz0g927NI56ho" %}
[Container Sharing](/user-guide/dashboard/container/container-management/container-settings/container-sharing)
{% endcontent-ref %}


# Co-Editing

Users who receive access to the container can open the same file and edit code simultaneously.

If another user has the same file open, a violet indicator(<img src="/files/oR3D8pWqtJ7PjlBFsho5" alt="" data-size="line">) appears on the right side of the editor tab, indicating that someone else is viewing or editing it.

Additionally, the name of that user is displayed at the cursor position, allowing real-time tracking of the editing status. The cursor color matches the background or border color of the user’s Profile Image, which appears in the top-right corner of the Workspace.


# SBOM Management

A **Software Bill of Material** (SBOM) is a statement of all software information that is utilized by a developer to build a software or service.&#x20;

As the use of open source has expanded, the problem of security vulnerabilities has grown. In fact, a security vulnerability scan of 2,700 of software found security vulnerabilities in more than 95% of applications.

{% hint style="info" %}
Source: BLACKDUCK's AppSec Decoded: Takeaways from the 2022 “[Software Vulnerability Snapshot](https://www.blackduck.com/blog/appsec-decoded-2022-software-vulnerability-snapshot-report-takeaways.html)” report
{% endhint %}

In response to this, Arkain provides tools to generate and manage SBOM information for safer software development.

{% stepper %}
{% step %}
Quickly track and respond to known and new vulnerabilities.&#x20;
{% endstep %}

{% step %}
Check the latest component status.&#x20;
{% endstep %}

{% step %}
Check license compliance.&#x20;
{% endstep %}

{% step %}
Get visibility into your software.
{% endstep %}
{% endstepper %}

## How to Generate SBOM and Automatic Generation Methods

#### Step-by-Step Process

{% stepper %}
{% step %}

#### Click the **\[Menu]** button and select the **\[Manage SBOM]**.

{% endstep %}

{% step %}

#### Click the **\[SBOM Settings]** button. (Optional)

Enable **\[Automatic report generation during GIT PUSH]** feature to configure automatic SBOM generation. To use this feature, you must first link your project with Git.
{% endstep %}

{% step %}
Click the **\[Generate SBOM]** button.

* Set the SBOM report format. You can choose between **SPDX** and **CycloneDX**.
* Personalize your document by entering a **Name** for easy identification.
  {% endstep %}

{% step %}

#### Click the **\[Create]** button to start the report generation process.

The generated report file will be automatically downloaded and saved locally. You can also view previously generated reports in the report history section.
{% endstep %}

{% step %}

#### Click the **\[Confirmation]** button to finish the process.

{% endstep %}
{% endstepper %}

{% hint style="info" %}
The SBOM report can be uploaded to an external SBOM analysis platform for more detailed analysis.
{% endhint %}

### Automatic Generation Setup

When you enable automatic report generation during Git push, SBOM reports will be created automatically each time you push changes to your repository. This ensures your SBOM stays up-to-date with your latest code changes.

### Report Formats

* **SPDX (Software Package Data Exchange)**: An open standard for communicating software bill of materials information, including components, licenses, copyrights, and security references.
* **CycloneDX**: A lightweight software bill of materials standard designed for use in application security contexts and supply chain component analysis.


# Multi Project

Multi-project is the feature to work on multiple projects in a single container.

{% stepper %}
{% step %}
In the **Project Sidebar**, press the **\[+]** icon and select the **\[New Sub project]** button.
{% endstep %}

{% step %}
Enter the project name you want to use and click the **\[Create new sub project]** button to create a new project with the same environment as your existing project.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Sub projects can only have the same base template as the main project.
{% endhint %}

### Git integration <a href="#git-integration" id="git-integration"></a>

{% stepper %}
{% step %}
Click the **\[Register repository]** button on the Git Sidebar, or click the **\[Settings]** icon (<img src="/files/oVVZTylWYxjN6sNNZ6hc" alt="" data-size="line">) on the top right to display the Git Sidebar.&#x20;
{% endstep %}

{% step %}
In the Git settings popup, you can enter the **\[Directory Setting]** tab and select a folder to integrate Git. From here, you can select the desired subproject and connect the repository to use Git in the subproject.
{% endstep %}
{% endstepper %}

<figure><img src="/files/ChzQn0Ctd1LuYsrteHyi" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Before setting the directory, you need to run `git init` or run **Git clone** on the **\[Preference]** tab to get the Change button when you select the folder.
{% endhint %}


# URL / Port

### Domain <a href="#domain" id="domain"></a>

Arkain provides a default subdomain (e.g., `https://mydomain.arkain.site`) for every container. This means you don't need to purchase your own domain to get started.

### Running your application <a href="#running-your-application" id="running-your-application"></a>

Run your application by clicking the **\[Run]** button or through the terminal. Verify if the application is running successfully through the terminal panel, and note the port number where the application is running.

The application's port number is necessary for registering a domain.

### Registering a subdomain <a href="#registering-a-domain" id="registering-a-domain"></a>

Click on the **\[Preview] → \[Running URL and Port]** button in the menu bar of the Workspace to open the sub domain settings screen. Here, you can register a new subdomain and view the list of registered subdomains.

To register a new subdomain, enter the URL and port number you want in the input field, and click the **\[Register]** button. Note that for some base templates, subdomains for default ports may already be registered.

You cannot register multiple domains with the same port number.

### Registering a Custom domain <a href="#registering-a-custom-domain" id="registering-a-custom-domain"></a>

You can register your own domain instead of the subdomains provided by Arkain such as `mydomain.run.arkain.site`. You can configure a custom domain from the Arkain Dashboard page. Go to **\[Container Settings]]\(**<img src="/files/SnvrAqdm3CJAhcStAW31" alt="" data-size="line">**)**  → **URL/Port section**, click the **\[+ Add]** button, and select **\[Custom Domain].**

And enter the domain to register starting from `www`, and upload the `crt` and `key` files. If the certificate has a password, include the password in a file and upload it.

### **Setting up DNS Domain**

On your domain registrar's website, you must create a CNAME record that points to the Arkain server.

* `${your_domain}.ap-northeast-2.arkain.site`

### Accessing the Domain through browser <a href="#accessing-the-domain-through-browser" id="accessing-the-domain-through-browser"></a>

Open your web browser and enter the registered domain to access it. You should see your application displayed. If **Hot Module Replacement** (HMR) is applied in your code, your code changes will be reflected in the browser in real-time without browser refresh.

* If you encounter a **404 error** page, double-check that you entered the domain correctly in the browser.
* If you encounter a **Connection Refused** page, check that the application is running correctly and ensure that the port number you entered during domain registration is correct.

{% hint style="info" %}
If your server's hosting setting is localhost or 127.0.0.1, try changing it to **0.0.0.0 .**

It allows external access.
{% endhint %}


# Keyboard Shortcut

Keyboard shortcuts are the simplest and most effective way to save time and boost develop

## File

| Function                  | macOS Shortcut                                          | Windows/Linux Shortcut                            |
| ------------------------- | ------------------------------------------------------- | ------------------------------------------------- |
| Open File / Toggle Folder | <kbd>Return ⏎</kbd>                                     | <kbd>Enter</kbd>                                  |
| Close                     | <kbd>option ⌥</kbd> + <kbd>W</kbd>                      | <kbd>Alt</kbd> + <kbd>W</kbd>                     |
| Close All                 | <kbd>option ⌥</kbd> + <kbd>Shift ⇧</kbd> + <kbd>W</kbd> | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>W</kbd>  |
| Reopen Closed File        | <kbd>option ⌥</kbd> + <kbd>Cmd ⌘</kbd> + <kbd>O</kbd>   | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>O</kbd>   |
| Save                      | <kbd>Cmd ⌘</kbd> + <kbd>S</kbd>                         | <kbd>Ctrl</kbd> + <kbd>S</kbd>                    |
| Save As                   | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>S</kbd>    | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>S</kbd> |
| Save All                  | <kbd>option ⌥</kbd> + <kbd>Cmd ⌘</kbd> + <kbd>S</kbd>   | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>S</kbd>   |
| Rename                    | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>R</kbd>    | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>R</kbd> |
| Duplicate                 | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>A</kbd>    | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>A</kbd> |
| Delete                    | <kbd>Cmd ⌘</kbd> + <kbd>Backspace ⌫</kbd>               | <kbd>Ctrl</kbd> + <kbd>Backspace ⌫</kbd>          |

## Edit

| Function                        | macOS Shortcut                                                                          | Windows/Linux Shortcut                                      |
| ------------------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------- |
| Copy                            | <kbd>Cmd ⌘</kbd> + <kbd>C</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>C</kbd>                              |
| Cut                             | <kbd>Cmd ⌘</kbd> + <kbd>X</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>X</kbd>                              |
| Paste                           | <kbd>Cmd ⌘</kbd> + <kbd>V</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>V</kbd>                              |
| Undo                            | <kbd>Cmd ⌘</kbd> + <kbd>Z</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>Z</kbd>                              |
| Redo                            | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>Z</kbd>                                    | <kbd>Ctrl</kbd> + <kbd>Y</kbd>                              |
| Undo Selection                  | <kbd>Cmd ⌘</kbd> + <kbd>U</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>U</kbd>                              |
| Redo Selection                  | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>U</kbd>                                    | <kbd>Alt</kbd> + <kbd>U</kbd>                               |
| Select All                      | <kbd>Cmd ⌘</kbd> + <kbd>A</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>A</kbd>                              |
| Select Line                     | <kbd>Ctrl ^</kbd> + <kbd>L</kbd>                                                        | <kbd>Alt</kbd> + <kbd>L</kbd>                               |
| Select Parent Syntax Unit       | <kbd>Cmd ⌘</kbd> + <kbd>I</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>I</kbd>                              |
| Select Between Brackets         | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>M</kbd>                                    | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>M</kbd>           |
| Insert New Line Below           | <kbd>Cmd ⌘</kbd> + <kbd>Return ⏎</kbd>                                                  | <kbd>Ctrl</kbd> + <kbd>Enter</kbd>                          |
| Insert New Line Above           | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>Return ⏎</kbd>                             | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Enter</kbd>       |
| Go To Line                      | <kbd>option ⌥</kbd> + <kbd>Cmd ⌘</kbd> + <kbd>G</kbd>                                   | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>G</kbd>             |
| Go To Bracket                   | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>\\</kbd>                                   | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>\\</kbd>          |
| Go To Line Start                | <kbd>Cmd ⌘</kbd> + <kbd>←</kbd>                                                         | <kbd>Home</kbd>                                             |
| Go To Line End                  | <kbd>Cmd ⌘</kbd> + <kbd>→</kbd>                                                         | <kbd>End</kbd>                                              |
| Go To Previous Syntax Unit      | <kbd>Ctrl ^</kbd> + <kbd>option ⌥</kbd> + <kbd>←</kbd>                                  | <kbd>Alt</kbd> + <kbd>←</kbd>                               |
| Go To Next Syntax Unit          | <kbd>Ctrl ^</kbd> + <kbd>option ⌥</kbd> + <kbd>→</kbd>                                  | <kbd>Alt</kbd> + <kbd>→</kbd>                               |
| Go To Previous Word             | <kbd>option ⌥</kbd> + <kbd>←</kbd>                                                      | <kbd>Ctrl</kbd> + <kbd>←</kbd>                              |
| Go To Next Word                 | <kbd>option ⌥</kbd> + <kbd>→</kbd>                                                      | <kbd>Ctrl</kbd> + <kbd>→</kbd>                              |
| Delete Lines                    | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>K</kbd>                                    | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>K</kbd>           |
| Delete To Line Start            | <kbd>Cmd ⌘</kbd>  + <kbd>Backspace ⌫</kbd>                                              | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Backspace ⌫</kbd> |
| Delete To Line End              | <p><kbd>Cmd ⌘</kbd>  + <kbd>Delete ⌦</kbd></p><p>/ <kbd>Ctrl ^</kbd> + <kbd>K</kbd></p> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>Del</kbd>         |
| Copy Lines Down                 | <kbd>option ⌥</kbd> + <kbd>Shift ⇧</kbd> + <kbd>↓</kbd>                                 | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>↓</kbd>            |
| Copy Lines Up                   | <kbd>option ⌥</kbd> + <kbd>Shift ⇧</kbd> + <kbd>↑</kbd>                                 | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>↑</kbd>            |
| Move Lines Down                 | <kbd>option ⌥</kbd> + <kbd>↓</kbd>                                                      | <kbd>Alt</kbd> + <kbd>↓</kbd>                               |
| Move Lines Up                   | <kbd>option ⌥</kbd> + <kbd>↑</kbd>                                                      | <kbd>Alt</kbd> + <kbd>↑</kbd>                               |
| Join Lines                      | <kbd>Cmd ⌘</kbd> + <kbd>J</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>J</kbd>                              |
| Transpose Characters            | <kbd>Ctrl ^</kbd> + <kbd>T</kbd>                                                        | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>T</kbd>             |
| Toggle Comment                  | <kbd>Cmd ⌘</kbd> + <kbd>/</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>/</kbd>                              |
| Toggle Block Comment            | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>/</kbd>                                    | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>/</kbd>           |
| Convert To Lowercase            | <kbd>Cmd ⌘</kbd> + <kbd>K</kbd> + <kbd>L</kbd>                                          | <kbd>Ctrl</kbd> + <kbd>K</kbd> + <kbd>L</kbd>               |
| Convert To Uppercase            | <kbd>Cmd ⌘</kbd> + <kbd>K</kbd> + <kbd>U</kbd>                                          | <kbd>Ctrl</kbd> + <kbd>K</kbd> + <kbd>U</kbd>               |
| Evaluate Selection              | <kbd>option ⌥</kbd> + <kbd>Cmd ⌘</kbd> + <kbd>K</kbd>                                   | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>K</kbd>             |
| Select Next Occurrence          | <kbd>Cmd ⌘</kbd> + <kbd>D</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>D</kbd>                              |
| Add Cursor                      | <kbd>option ⌥</kbd> + <kbd>Click</kbd>                                                  | <kbd>Alt</kbd> + <kbd>Click</kbd>                           |
| Add Cursor Below                | <kbd>option ⌥</kbd> + <kbd>Cmd ⌘</kbd> + <kbd>↓</kbd>                                   | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>↓</kbd>             |
| Add Cursor Above                | <kbd>option ⌥</kbd> + <kbd>Cmd ⌘</kbd> + <kbd>↑</kbd>                                   | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>↑</kbd>             |
| Add Cursors To Line Ends        | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>L</kbd>                                    | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>L</kbd>           |
| Convert To Single Cursor        | <kbd>Esc</kbd>                                                                          | <kbd>Esc</kbd>                                              |
| Scroll To Center                | <kbd>Cmd ⌘</kbd> + <kbd>K</kbd> + <kbd>C</kbd>                                          | <kbd>Ctrl</kbd> + <kbd>K</kbd> + <kbd>C</kbd>               |
| Scroll Down                     | <kbd>Ctrl ^</kbd> +<kbd>option ⌥</kbd> + <kbd>↓</kbd>                                   | <kbd>Ctrl</kbd> + <kbd>↓</kbd>                              |
| Scroll Up                       | <kbd>Ctrl ^</kbd> + <kbd>option ⌥</kbd> + <kbd>↑</kbd>                                  | <kbd>Ctrl</kbd> + <kbd>↑</kbd>                              |
| Fold                            | <kbd>option ⌥</kbd> + <kbd>Cmd ⌘</kbd> + <kbd>\[</kbd>                                  | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>\[</kbd>          |
| Unfold                          | <kbd>option ⌥</kbd> +<kbd>Cmd ⌘</kbd> + <kbd>]</kbd>                                    | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>]</kbd>           |
| Fold All                        | <kbd>Ctrl ^</kbd> + <kbd>option ⌥</kbd> + <kbd>\[</kbd>                                 | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>\[</kbd>            |
| Unfold All                      | <kbd>Ctrl ^</kbd> + <kbd>option ⌥</kbd> + <kbd>]</kbd>                                  | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>]</kbd>             |
| Increase Font Size (Zoom In)    | <kbd>Cmd ⌘</kbd> + <kbd>=</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>=</kbd>                              |
| Decrease Font Size (Zoom out)   | <kbd>Cmd ⌘</kbd> + <kbd>-</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>-</kbd>                              |
| Reset Font Size (Reset Scaling) | <kbd>Cmd ⌘</kbd> + <kbd>0</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>0</kbd>                              |
| Find                            | <kbd>Cmd ⌘</kbd> + <kbd>F</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>F</kbd>                              |
| Find Next                       | <kbd>Cmd ⌘</kbd> + <kbd>G</kbd>                                                         | <kbd>Ctrl</kbd> + <kbd>G</kbd>                              |
| Find Previous                   | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>G</kbd>                                    | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>G</kbd>           |
| Replace                         | <kbd>option ⌥</kbd> + <kbd>Cmd ⌘</kbd> + <kbd>F</kbd>                                   | <kbd>Ctrl</kbd> + <kbd>Alt</kbd> + <kbd>F</kbd>             |
| Search All                      | <kbd>Cmd ⌘</kbd> + <kbd>Shift ⇧</kbd> + <kbd>F</kbd>                                    | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>F</kbd>           |

## Terminal

| Function           | macOS Shortcut                  | Windows/Linux Shortcut                            |
| ------------------ | ------------------------------- | ------------------------------------------------- |
| Copy From Terminal | <kbd>Cmd ⌘</kbd> + <kbd>C</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>C</kbd> |
| Paste To Terminal  | <kbd>Cmd ⌘</kbd> + <kbd>V</kbd> | <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>V</kbd> |
| Find               | <kbd>Cmd ⌘</kbd> + <kbd>F</kbd> | <kbd>Ctrl</kbd> + <kbd>F</kbd>                    |

## Project

| Function                  | macOS Shortcut                                         | Windows/Linux Shortcut                           |
| ------------------------- | ------------------------------------------------------ | ------------------------------------------------ |
| Run Command               | <kbd>F5</kbd>                                          | <kbd>F5</kbd>                                    |
| Refresh Project Explorer  | <kbd>Cmd ⌘</kbd> + <kbd>R</kbd>                        | <kbd>Ctrl</kbd> + <kbd>R</kbd>                   |
| Open Preview in Workspace | <kbd>option ⌥</kbd> +<kbd>Shift ⌘</kbd> + <kbd>J</kbd> | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>J</kbd> |
| Find File                 | <kbd>Cmd ⌘</kbd> + <kbd>P</kbd>                        | <kbd>Ctrl</kbd> + <kbd>P</kbd>                   |
| Open Preferences          | <kbd>option ⌥</kbd> + <kbd>P</kbd>                     | <kbd>Alt</kbd> + <kbd>P</kbd>                    |

## Window

| Function                     | macOS Shortcut                                              | Windows/Linux Shortcut                               |
| ---------------------------- | ----------------------------------------------------------- | ---------------------------------------------------- |
| New Terminal Window          | <kbd>option ⌥</kbd>+<kbd>Shift ⇧</kbd>+<kbd>T</kbd>         | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>T</kbd>     |
| Terminal To Current Location | <kbd>option ⌥</kbd>+<kbd>T</kbd>                            | <kbd>Alt</kbd> + <kbd>T</kbd>                        |
| Open Previous Window         | <kbd>option ⌥</kbd>+<kbd>Shift ⇧</kbd>+<kbd>\[</kbd>        | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>\[</kbd>    |
| Open Next Window             | <kbd>option ⌥</kbd>+<kbd>Shift ⇧</kbd>+<kbd>]</kbd>         | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>]</kbd>     |
| Open Specific Window         | <kbd>Cmd ⌘</kbd> + <kbd>#Num</kbd>                          | <kbd>Ctrl</kbd> + <kbd>#Num</kbd>                    |
| Split Right                  | <kbd>option ⌥</kbd>+<kbd>Shift ⇧</kbd>+<kbd>R</kbd>         | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>\\</kbd>    |
| Split Down                   | <kbd>option ⌥</kbd>+<kbd>Shift ⇧</kbd>+<kbd>D</kbd>         | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>D</kbd>     |
| Close Workspace              | <kbd>option ⌥</kbd>+<kbd>C</kbd>                            | <kbd>Alt</kbd> + <kbd>C</kbd>                        |
| Move Layout Focus            | <kbd>option ⌥</kbd>+<kbd>Shift ⇧</kbd>+ <kbd>Return ⏎</kbd> | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>Enter</kbd> |
| Toggle Header                | <kbd>option ⌥</kbd>+<kbd>Shift ⇧</kbd>+<kbd>A</kbd>         | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>A</kbd>     |
| Toggle Sidebar               | <kbd>option ⌥</kbd>+<kbd>Shift ⇧</kbd>+<kbd>L</kbd>         | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>L</kbd>     |
| Toggle Terminal              | <kbd>option ⌥</kbd>+<kbd>Shift ⇧</kbd>+<kbd>B</kbd>         | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>B</kbd>     |

## SIDE CHAT

| Function                      | macOS Shortcut                                      | Windows/Linux Shortcut                           |
| ----------------------------- | --------------------------------------------------- | ------------------------------------------------ |
| Toggle Side Chat              | <kbd>F1</kbd>                                       | <kbd>F1</kbd>                                    |
| Switch AI Mode                | <kbd>Shift ⇧</kbd> + <kbd>Tab</kbd>                 | <kbd>Shift</kbd> + <kbd>Tab</kbd>                |
| New Chat                      | <kbd>option ⌥</kbd>+<kbd>Shift ⇧</kbd>+<kbd>N</kbd> | <kbd>Alt</kbd> + <kbd>Shift</kbd> + <kbd>N</kbd> |
| Attach Selection to Side Chat | <kbd>Cmd ⌘</kbd> + <kbd>L</kbd>                     | <kbd>Ctrl</kbd> + <kbd>L</kbd>                   |

## Help

| Function           | macOS Shortcut                  | Windows/Linux Shortcut         |
| ------------------ | ------------------------------- | ------------------------------ |
| View All Shortcuts | <kbd>Cmd ⌘</kbd> + <kbd>H</kbd> | <kbd>Ctrl</kbd> + <kbd>H</kbd> |


# Arkain AI

{% hint style="success" %}
**✨ Arkain Snap & Side Chat Free Trial**

We’re offering **3 total free trial uses** to let you deploy AI-powered containers with **Snap** and get instant AI help in your workspace with **Side Chat**. Experience the power of Arkain’s AI for yourself!

For detailed information about Snap and Side Chat usage charges, please check [here](https://docs.arkain.io/credits-and-membership/credits/calculate-credits-usage).
{% endhint %}

## Arkain Snap

**Arkain Snap** is an AI agent that turns ideas into reality. You can create services or apps just with natural language prompts, without needing to learn programming languages anymore.

### What Does Arkain Snap Do?

* **Generate apps from ideas**

  Turn a natural language prompt into a ready-to-run service or application.
* **Set up the environment automatically**

  Snap configures the base template, frameworks, and databases for your project.
* **Deliver a running prototype**

  Dependencies are installed and the app is launched instantly in your workspace.
* **Pair with Side Chat**

  Refine, extend, and collaborate on your project with Side Chat after generation.

### Why Use Arkain Snap?

* **From idea to prototype in minutes**

  Generate and launch working apps faster than ever—quickly validate concepts and bring projects to life with minimal effort.
* **Accessible for everyone**

  No programming knowledge required—just describe your idea in plain language.

**Experience the magic of creating with Arkain Snap today!**

{% content-ref url="/pages/yviItMRrsZLuTBkvFCsH" %}
[Using Arkain Snap](/user-guide/dashboard/creative-tools/using-arkain-snap)
{% endcontent-ref %}

## Side Chat

The AI assistant, **Side Chat**, provides new CDE that enable interaction with code like never before. With the power of advanced **Large Language Models (LLMs)**, you can now ask questions about your code and receive instant, actionable responses—all without leaving your development environment.

### What Does Side Chat Do?

* **Understand your code**\
  Got a tricky block of code or a function that’s hard to decipher? Simply ask Side Chat, and it will explain the logic, syntax, or purpose in plain language.
* **Solve problems**\
  Debugging a pesky error? Paste the code snippet, describe the problem, and Side Chat will suggest fixes or optimizations.
* **Generate code**\
  Side Chat can write it for you based on your requirements—saving you time and effort.
* **Provide insights**\
  Whether you’re exploring algorithms or need suggestions on improving performance, Side Chat provides expert-level recommendations tailored to your code.

### Why Use Side Chat?

* **Boost Productivity**\
  No more searching forums or switching between tabs—get answers directly in your CDE.
* **Learn as You Code**\
  Improve your coding skills with detailed explanations and best practices.
* **Accelerate Development**\
  Spend less time troubleshooting and more time building amazing projects.

Side Chat leverages powerful LLMs, like those in Cursor and Windsurf, to deliver a seamless coding experience. Whether you’re a solo developer or part of a team, Side Chat ensures you have an AI-powered coding assistant right at your fingertips.

**Try Side Chat now and code smarter, faster, and with confidence!**&#x20;

{% content-ref url="/pages/bPEvQh0Ce48KFqjj3z7V" %}
[Side Chat](/user-guide/arkain-ai/side-chat)
{% endcontent-ref %}

## Advanced feature

### Code Supporter

The **Code Supporter** helps you write and fix code more easily and accurately. You can enable this feature when you **create** or **start** a container.

{% content-ref url="/pages/gyJDFvtPNjLDEZ6evMdG" %}
[Code Supporter](/user-guide/arkain-ai/code-supporter)
{% endcontent-ref %}


# Side Chat

About  Side Chat, which provides an AI-based chat interface.

**Side Chat** is a built-in AI assistant available throughout Arkain.\
Depending on where you use it, Side Chat provides different capabilities optimized for each context.

**Side Chat** is available in two main areas: the Dashboard page and the Workspace.

***

### 📍Dashboard Side Chat

The Dashboard Side Chat is designed to assist with using Arkain’s platform features and managing your container and info settings.

#### **Key Capabilities**

* Ask questions about how to use Arkain features
* View container information and change container status
* Check your credit usage
* Receive recommendations for templates based on your requirements
* Create apps and containers using natural language prompts
* Connect external tools like Notion to build projects from your docs

#### **Learn More**

For more details, please refer to the link below.

{% content-ref url="/pages/7PCmcdH8bSsjvrCiKYtZ" %}
[Side Chat (Dashboard)](/user-guide/dashboard/creative-tools/side-chat-dashboard)
{% endcontent-ref %}

### &#x20;📍**Workspace Side Chat**

The Workspace Side Chat is optimized for real-time development and coding assistance.

#### **Key Capabilities**

* Ask questions related to your code
* Receive real-time suggestions, debugging help, and code improvements
* Maintain conversation context within a session for consistent, history-aware assistance

#### **Learn More**

For more details, please refer to the link below.

{% content-ref url="/pages/eGdbEwISgVyHNNZbAJep" %}
[Side Chat (Workspace)](/user-guide/workspace/side-chat-workspace)
{% endcontent-ref %}


# Code Supporter

### Code Supporter

Code Supporter helps you write and fix code more easily and accurately. You can enable this feature when you **create** or **start** a container.

{% hint style="warning" %}
Currently, this feature is available for **JavaScript** and **TypeScript**. Support for additional language will be rolled out gradually.
{% endhint %}

***

### Key Features

* **Go to Definition**: <kbd>Cmd</kbd>/<kbd>Ctrl</kbd> + Click on a function, variable, etc. to go directly to where it’s declared.
* **Hover Info**: Hover over a symbol to see its type, description, and documentation.
* **Autocomplete Suggestions**: When you type or after trigger characters (e.g. `.`), suggestions appear; pick one and it inserts code for you.
* **Live Diagnostics**: Errors and warnings show up in your code immediately — underlined or marked.

***

### How to Enable

You can enable the Code Supporter feature when you create a container, based on your requirements. [Creating Container](/user-guide/dashboard/container/container-management/creating-container)

Similarly, when creating a container through **Templates**, you can enable the Code Supporter feature.&#x20;

Additionally, you can enable or disable the feature of an existing container on the **Container Settings page** at any time, depending on your needs and purposes. [Container Settings](/user-guide/dashboard/container/container-management/container-settings)

{% hint style="info" %}
The container must be shut down to change Code Supporter feature.
{% endhint %}


# Supported Models

## Supported Models

This guide provides a detailed breakdown of credit costs for each **Large Language Models (LLMs)**. Prices are based on a **per-token system**, differentiating between input and output. Refer to the table below for a comprehensive overview of pricing.

***

## Credits amount by LLMs <a href="#credit-amount-by-resource" id="credit-amount-by-resource"></a>

<table><thead><tr><th width="169">Model</th><th>1 token Output (Credit)</th><th>1 token Input (Credit)</th><th>Cache Write (Credit)</th><th>Cache Read (Credit)</th></tr></thead><tbody><tr><td>claude-sonnet-4.6<br>(default)</td><td>0.001200</td><td>0.000240</td><td>0.000300</td><td>0.0000240</td></tr><tr><td>claude-sonnet-4.5</td><td>0.001200</td><td>0.000240</td><td>0.000300</td><td>0.0000240</td></tr><tr><td>claude-haiku-4.5<br></td><td>0.000400</td><td>0.000080</td><td>0.000100</td><td>0.0000080</td></tr><tr><td>claude-opus-4.5</td><td>0.002000</td><td>0.000400</td><td>0.000500</td><td>0.0000400</td></tr><tr><td>gpt-5-mini</td><td>0.000160</td><td>0.000020</td><td>-</td><td>0.0000020</td></tr><tr><td>gpt-5-nano</td><td>0.000032</td><td>0.000004</td><td>-</td><td>0.0000004</td></tr><tr><td>gpt-5.2</td><td>0.001120</td><td>0.000140</td><td>-</td><td>0.0000140</td></tr><tr><td>gemini-3-pro</td><td>0.000960</td><td>0.000160</td><td>-</td><td>0.0000016</td></tr></tbody></table>

***


# Templates

<figure><img src="/files/HfRfkJWM8QvYXLZDyFt3" alt=""><figcaption></figcaption></figure>

## Introducing the Templates

We’re excited to announce the launch of **Templates**, a brand-new feature in our CDE that takes your development experience to the next level!&#x20;

### What is Templates?

Template Community is a platform where users can **create, share, and explore project templates**. Whether you’re a seasoned developer or just starting out, this feature empowers you to:

1. **Create and Share Your Template**\
   Upload your own template to show off your work and help others get started with their projects.
2. **Discover New Ideas**\
   Browse a variety of templates crafted by the community to find the perfect starting point for your next project.
3. **Communicate with a variety of people**\
   Develop a broad perspective by exchanging opinions with a variety of people.
4. **Start Projects Quickly**\
   Import templates directly into your CDE and get coding immediately—no setup hassles!

### Why Use Templates?

* **Save Time**\
  Skip repetitive setup tasks and dive straight into coding.
* **Collaborate Better**\
  Share standardized templates within your team for consistency and faster onboarding.
* **Learn from the Community**\
  Gain insights from templates shared by other talented developers.

***

## **Key Features of the Templates Page**

* **Create New Template** [Create a Template](/user-guide/templates/create-a-template)

  You can also create a new template directly from the Templates page.
* **View All Templates** [Browse Templates](/user-guide/templates/browse-templates)

  This page shows all templates of Arkain users, including templates you have created or registered. Each template displays information such as the template name, stack, and description for quick reference.
* **View Template Details**

  Click on any template card to view more details, including the software stack, configurations, and additional information. Check out the template creator and template usage.
* **Communicate with Other Users**

  You can comment on the templates you are looking at. Leave compliments on great templates and give feedback on what you think could be improved.
* **Explore Profiles of Users**  [Community Profile](/user-guide/templates/community-profile)

  You can browse profiles of users who have created templates, view templates created by specific users, and interact with various developers.
* **Use Templates** [Use Templates](/user-guide/templates/use-templates)

  If you like the template you're looking at, try creating your own container using the template. The default settings for the container follow the selected template.

{% hint style="info" %}
The template's main folder under the `/workspace` path is renamed to the name of the created container.
{% endhint %}

***

Whether you need boilerplate code, preconfigured environments, or innovative ideas, Template Community makes it simple to build and share together. Join us in transforming how projects are started and developed!&#x20;


# Create a Template

Creating a template allows you to share your project setup with others and make development faster and easier. Here’s how to create and share your own template:

{% stepper %}
{% step %}

### **Access the** [**Templates**](https://arkain.io/template) **page**&#x20;

There are three ways to create a template:

* Click the **\[Create template]** button on the [Templates](https://arkain.io/template) page.
* Click the **\[More]**(<img src="/files/6tAd5n1rS94s6Kn3kiMW" alt="" data-size="line">) → **\[Publish to community]** button on the Container card within the **Dashboard page**.
* Click the **\[Publish]** button located at the top of the Workspace.
  {% endstep %}

{% step %}

### **Fill in Template Details**

<figure><img src="/files/hUGxe2Alvt6YxfmtSqd9" alt=""><figcaption></figcaption></figure>

#### **Select Your Container**

Select the container to publish as a template.

#### **Enter Your Template Name**

Write a name that will make your template stand out. We recommend that the name clearly reflect the purpose or technology being used.\
*e.g., "React Starter Template" or "Python Flask API"*

#### **Description**

Provide a detailed description of your template.

* Specific use cases.\
  *e.g., "A simple example using OpenWeatherMap API and The Solar System OpenData API."*
* Description can be up to 280 characters long.

{% hint style="info" %}
**Tip:** The description will be shown on the template card. Write a short and clear explanation to help users quickly grasp what your template offers.
{% endhint %}

{% hint style="warning" %}
Please note that template name and description fields only support English.
{% endhint %}

#### **Stack**

Please enter the technology stack used in the container. You can add up to 10 items.

#### Recommended Performance

Please select the Recommended Performance.\
Your container's performance is preselected as the Recommended Performance. This setting will then be the default choice for all users who create a new container using your template.&#x20;

For more details, see our [Container Performance](/user-guide/dashboard/container/container-performance) guide.

Click the **\[Temporary save]** button to save temporarily, or click the **\[Next]** button to proceed to the next step.

{% hint style="warning" %}
Please note that **only one Temporary save is possible.**
{% endhint %}
{% endstep %}

{% step %}

### Enter your template introduction

A text file that contains basic information and usage instructions for software. It typically explains the purpose of the project, installation steps, and how to use it, serving as an important first impression that introduces the project.

Please provide introduction of your template. We recommend including the following:

* **Overview**\
  Describe the main function or purpose of the template. Also add the intended audience, expected benefits, and examples of its use.
* **Preview**\
  Add preview images of the result screen, code structure, or key features after the template is run.
* **Features**\
  List the Key Features.
* **Requirements**\
  Lists the environment and tools required to run this template.

If it’s difficult to write, you can use the [AI-Generated Template Introduction](/user-guide/templates/create-a-template/ai-generated-template-introduction) feature!

{% hint style="success" %}
***New*** 🎉\
With the AI-Generated Template Introduction feature, you can now let AI automatically create an introduction for your template. The AI reads the code in your container and generates a clear, helpful overview—saving you time and effort.

[AI-Generated Template Introduction](/user-guide/templates/create-a-template/ai-generated-template-introduction)
{% endhint %}
{% endstep %}

{% step %}

### Create a Template

Please review the content you've written, and if everything is correct, click the **\[Create]** button. Before template creation begins, make sure the following is met:

* Don't you have a file like a password?
* Is it possible to run the template right away?
* Is there any file that would violate the security?

{% hint style="info" %}
Note

* How do I add a **thumbnail image?**
  * When creating a template, if you upload at least one image in your Template Introduction, the first image will automatically be set as the template thumbnail. If no image is provided,  a default thumbnail will be generated using the **Default Stack** background and your template name.\
    If a first image exists, a thumbnail toggle UI will appear, allowing you to choose between the default thumbnail and the first uploaded image.
* **When a template is created, any containers running will be terminated.**
* After a template is created, it undergoes a security review.
* If the container has **a large file size** or the security review process takes a long time, template creation **may take a long time.**
  {% endhint %}

{% hint style="warning" %}
Note

If your template **fails to create**:

1. **Click your failed template.**
2. **Check fail reasons**&#x20;
   1. If a file contained in the container is causing the issue, click the  ![](/files/H93S0RyOJeymHsYqxlsB) button to run the container and resolve the issue.
   2. If the template fails to create even though your container has no issues, please contact us for assistance.
3. If you have resolved the cause, Click the **\[Re-create]** button.
   {% endhint %}
   {% endstep %}
   {% endstepper %}

***

### **Best Practices for Template Creation**

* **Keep it Clean and Simple**\
  Avoid unnecessary files or configurations to keep the template lightweight.
* **Provide Clear Documentation**\
  Include a README.md file to guide users on how to use the template effectively.
* **Test Before Publishing**\
  Ensure your template is fully functional and error-free.

By creating a template, you contribute to a collaborative and efficient development community. Start building your template today and share your expertise with the world.


# AI-Generated Template Introduction

During the template introduction step, the **AI-Generated Template Introduction** analyzes your code and automatically suggests an introduction.

The AI reads your code and summarizes the template's features, allowing you to quickly draft text without manually writing the introduction.

#### Step-by-Step

{% stepper %}
{% step %}
Access the **'Create Template' page**. Enter the template name and fill in the details, then click the **\[Next]** button.

<figure><img src="/files/w9ZfawlIUGIH6HTA9oFa" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
Click the **\[Auto-Generate]** button to generate a template introduction.
{% endstep %}

{% step %}
Your template introduction will be automatically generated using the AI.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
**Important Notes when Using AI-Generated Template Introduction**

* If your container is stopped, it will be started automatically when you use this feature.
* Your container will remain running after the introduction is generated. To avoid additional charges, stop the container manually when you're done.
* If your container has insufficient content, the default introduction will be displayed instead.
  {% endhint %}


# Browse Templates

You can browse all the templates you have created in Arkain, while also discovering templates from other users. Search and filtering tools make it easy to find the right template whenever you need it.

***

## Template List

Browse your created templates or community templates.

Each card includes:

* **Template name**
* **Description (optional)**
* **Stack**
* **Creator**
* **Usage Stats**
* and the **\[Remix]** button

### **Search, Filter, and Sort**

Quickly find the right template using the built-in tools:

* **Search** by name, stack, description, or introduction—even if you don’t remember the exact name.
* **Filter** results by a specific stack.
* **Sort** templates with options like ***Recent*** or ***Most used*** to bring popular ones to the top.

### What is Arkain's official template?

If you look through the templates, you will see templates with an ![](/files/il6xFYKVcrUXj5u3jdUN)icon attached. These are templates that Arkain provides and produces, and as described, packages/modules for environment configuration are automatically installed and executed.

We hope that one day your templates will become official templates for Arkain.

***

## Template Detail Info

When viewing a specific template, you can access detailed information including:

* **Template Information** - Name, description, stack, and recommended performance
* **Creator Details** - Template creator and creation date
* **Usage Counts** - Number of times Arkain users have used this template

### Template Actions

* **Use Template** - Deploy the template with recommended settings&#x20;
* **Comment** - Share feedback and engage with the template creator
* **Social Sharing** - Share templates on social media platforms

You can report a template if you find its content inappropriate:

* **Report Template** - Flag inappropriate or problematic templates

{% content-ref url="/pages/29nrmYywLynb90oPrS1S" %}
[Malicious Templates and Comment Policy](/user-guide/templates/malicious-templates-and-comment-policy)
{% endcontent-ref %}

For your own templates, you can also:&#x20;

* **Edit Template** - Modify template details and settings
* **Delete Template** - Remove templates permanently from the platform

{% content-ref url="/pages/FJLHRPTW9R115EnzY3Wp" %}
[Manage Templates](/user-guide/templates/manage-templates)
{% endcontent-ref %}


# Manage Templates

The **Templates** feature provides tools to help you manage the templates you've created. You can update your templates to reflect new changes, modify details, or delete templates you no longer need. Here's a guide to managing your templates effectively:

## **Access Your Templates** [Community Profile](/user-guide/templates/community-profile)

You can access and manage your personal templates through your **Community Profile**, the **\[My Templates]** button, or directly from your template cards.

* **Via Community Profile:** Click the \[Avatar] button at the top right of the Dashboard, then select the \[Community Profile] button.
* **Via My Templates Button:** Click the \[My Templates] button located at the top of the Template List page for instant access to your work.
* **Via Template Card:** Click on your profile information displayed within any of your template cards in the list.

If there are containers that failed to create, your Profile page will contain the failed templates.

## Check the comments on your template

If you click on your specific template, you can see comments left by other users. Check out the comments and exchange opinions with various users.

## **Editing a Template**

Go to your specific template and click the **\[Edit]** button.

{% stepper %}
{% step %}

### **Check your selected Container**

Make sure the selected container is the one you selected when creating the template.
{% endstep %}

{% step %}

### **Edit Details**

Update template information such as:

* **Template name**\
  Ensure it accurately reflects the template's purpose.
* **Description**\
  Add or revise details to clarify its features and use cases.
* **Stack**\
  If there is a stack missing when creating it, add it.
* **Recommended Performance**\
  If you want to change the recommended container performance, change it.
  {% endstep %}

{% step %}

### **Save Changes**

Once you've finished editing the template, click the **\[Edit]** button to save your changes.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
You can **only modify the information and content** of the template.&#x20;

If you want to change the container, we recommend **creating a new template.**
{% endhint %}

## **Deleting a Template**

Deleting a template removes it permanently from the Templates page. This will not affect containers that have already been created from your template by other users, but the template will no longer be available for new usage.

Make sure to confirm before deleting to avoid accidental loss.&#x20;

* **Delete from Template card**\
  Click the **\[Trash]** button(![](/files/6lPmVYnlTzo87ghygulk)) in your Template card on the Dashboard page or the Profile page.
* **Go to your specific Templates and delete**\
  Click the **\[Delete]** button located at the top right of your specific Template page.

Confirm the deletion in the pop-up window.

***

By effectively managing your templates, you ensure they remain up-to-date and valuable to the community. Keep your templates organized and optimized for maximum impact.


# Use Templates

When you find a template that meets your needs, click the **\[Remix]** button to create a new container. All the configurations and settings will be automatically applied, giving you a ready-to-use environment based on the template's specifications.

***

You can use templates from the following locations:

* Browse Templates&#x20;
* Community Profile
* Hot Templates in the [Dashboard page](/user-guide/dashboard)

{% stepper %}
{% step %}
**Set a Container Name**

Enter a name for your container.

{% hint style="warning" %}
**Note**\
Container names must only contain **alphabets, numbers, underscores (\_), or hyphens (-).**
{% endhint %}
{% endstep %}

{% step %}
**Configure Container Performance**

You can check the available container specifications on [this page](https://docs.arkain.io/user-guide/dashboard/container/container-specifications).

{% hint style="info" %}
The base template of the container is selected as the base template set in the template you selected.
{% endhint %}
{% endstep %}

{% step %}
**Configure Additional Storage**

* **Default:** 5GB / **Up to:** 80GB
* **Free Plan**: 5GB for free
* **Membership Plan**: 15GB for free

{% hint style="info" %}
GPU containers are created with **30GB of storage by default**.
{% endhint %}

{% hint style="warning" %}
**Note**

* Once upgraded, storage **cannot be downgraded.**
* If you **exceed your free storage**, **additional charges** will apply based on your usage.
* You can **upgrade storage after the container has been created**.
  {% endhint %}
  {% endstep %}
  {% endstepper %}

***

You're now ready to use templates in Arkain for faster, more efficient container creation!\
Skip the setup and start building with trusted configurations today.


# Community Profile

The user profile feature allows you to browse templates uploaded by a specific user and manage your own profile content.

<figure><img src="/files/NHTqPw0JZe3truFEjiLJ" alt=""><figcaption></figcaption></figure>

## Exploring User Templates

To browse templates uploaded by a specific user, use that user's profile page.

### How to Access a User Profile page

* **Via Template Cards:** Click the username or the Avatar displayed on a template card.
* **Via the My Templates Button:** Click the \[My Templates] button on the Template List page to go directly to your own profile.
* **Via the Dashboard:** Navigate by clicking the \[Community Profile] button located in the user menu (accessible via the Avatar button) on the Dashboard page.

### Profile Information

When viewing a user profile, you can see:

* **User Information** - Template usage count and Daily check-in ranking.
* **Personal Websites** - Connected GitHub and social media information.
* **Available Actions**:
  * **Edit Profile** - Edit your Arkain account profile information.
  * **Copy Link** - Get a shareable URL to your profile page.

## Managing your templates and comments

### Templates

The **Profile page** provides tools to manage your template creation process. \
**When viewing your own profile,** you can review all templates currently in progress and monitor their status: **Creating, Failed, or Reported.**

#### Template Status Types

* **Creating:**\
  Currently being generated with a progress bar showing the creation status.
* **Failed:**\
  Encountered errors during the creation process. You can click on the failed template card to attempt recreation.
* **Reported:**\
  Flagged and processed by administrators due to policy violations or inappropriate content. **These templates will be automatically deleted 7 days after being reported unless you provide a successful appeal through the review process.**

### &#x20;Comments

When viewing your own profile, you'll see a list of all comments you've written. This section is only visible to you and provides a convenient way to track your community interactions.

***

Effectively utilizing your user profile allows you to discover high-quality templates from trusted creators and manage your own template portfolio.


# Official Template Guide

#### <mark style="background-color:red;">**Please refer to the guide on how to issue API keys, set up the environment, etc. while using the official template through this document.**</mark>

### What is Arkain's official template?

If you look through the templates, you will see templates with an ![](/files/il6xFYKVcrUXj5u3jdUN)icon attached. These are templates that Arkain provides and produces, and as described, packages/modules for environment configuration are automatically installed and executed.

We hope that one day your templates will become official templates for Arkain.


# Web with Open API

To access the [**\[Web with Open API\]** ](https://arkain.io/template/template_kcLwmCWohkfmkvDTib)template, you must issue the required API KEY.

## How do I obtain an OpenWeatherMap API Key?

1. Go to <https://openweathermap.org/> and sign up.

<figure><img src="/files/Lu6PxHNxd6KS5QWUPYJ8" alt=""><figcaption></figcaption></figure>

2. A confirmation email will be sent to the email address you entered when signing up. Click the **\[Verify your email] button**.

<figure><img src="/files/Dv2vr5GgDDdBvZHgpZhW" alt=""><figcaption></figcaption></figure>

3. Click on your nickname in the upper right corner of [https://openweathermap.org/ ](<https://openweathermap.org/ >)and click on the **\[MY API keys] button**.

<figure><img src="/files/7dWYzniJDeuOHSOJPRpn" alt=""><figcaption></figcaption></figure>

4. Enter the desired API key name in **\[Create key]** and click the **\[Generate] button**.

<figure><img src="/files/KviOYSdkTOQyYPQnHPfR" alt=""><figcaption></figcaption></figure>

5. Copy the issued Key.
6. The preparation is complete, but you need to wait for the API to be approved. According to the email you received when the API was issued, it may take several hours for it to be approved. Since you will not receive a separate approval email or notification, we recommend that you wait a day or so before accessing it.

<figure><img src="/files/huMq23wrcFBQBgJcnik7" alt=""><figcaption><p>Within the next couple of hours, it will be activated and ready to use</p></figcaption></figure>


# Malicious Templates and Comment Policy

To create a healthy Templates Community, we provide a reporting function for Templates and Comments.

<figure><img src="/files/oWyen4XzAsB1DvxtJs8r" alt=""><figcaption></figcaption></figure>

## Malicious Template

### Reporting Target

* **Malicious container template**\
  Templates that contain malware, viruses, or have the potential to intentionally damage the system.&#x20;
* **Copyright infringement**\
  Templates that contain code, files, or resources that infringe on the copyrights of others.&#x20;
* **Unethical/inappropriate content**\
  Templates that contain hate speech, discriminatory content, violent content, etc.&#x20;
* **Misinformation**\
  Template descriptions or content that do not match the actual functionality.
* **Technical errors or malfunctions**\
  Templates that do not run or cause unintended problems.

### Report Processing Procedure

1. If another user reports a template, the administrator will review it and, if it is a valid report, hide the template from other users.
   1. At this point, the template owner will be notified via **email** and **notification on the Dashboard page**.
2. The owner of the reported template must file an objection via **Customer Inquiry within 7 days**, so that the template can be returned to its normal state.

{% hint style="danger" %}
If no objection is raised within 7 days, the template will be deleted by the administrator.
{% endhint %}

## Malicious Report Comment

### Malicious Reporting Target&#x20;

* **Profanity and slander**\
  Hate speech that insults or criticizes others.&#x20;
* **Spam**\
  Advertisements, promotional content, repeated meaningless messages.&#x20;
* **Personal information disclosure**\
  Comments that include personal information about others, such as email, phone number, or address.&#x20;
* **Malicious false information**\
  Content that is false or misleading.&#x20;
* **Inappropriate content**\
  Violent, obscene, or offensive content.&#x20;
* **Other rule violations**\
  Other inappropriate behaviors specified in the Terms of Service.&#x20;

### Malicious Report Processing Procedure

* If another user reports a specific comment within a template, the comment will be reviewed and deleted by an administrator. At this point, the comment owner will be notified via notification on the Dashboard page.

{% hint style="info" %}
**Preventing false reports**

Added the following regulations to prevent false reports

* **Sanctions for false reports**\
  If malicious false reports are repeated, the reporter's account will be restricted.
* **Require clarity of report reason**\
  Require specific reasons and evidence when reporting.
  {% endhint %}


# Account

Arkain Accounts are the primary way users interact with the Arkain platform. This page covers managing your personal identity, notification preferences, and account lifecycle.

### Accessing Account Settings

To access your account settings:

1. Click the **Avatar** icon in the top-right corner of the Dashboard page.
2. Select **\[Account]** from the dropdown menu.

The Account page is divided into two primary tabs:

* Profile: (Default) Manage personal details, notifications, and account deletion.
* Referral: Manage invite codes and rewards.

***

### Profile Settings

The Profile tab is your central hub for managing your identity and how you receive updates from Arkain.

#### Personal Details

* Profile Image: Customize your presence by uploading a photo.
  * Supported Formats: .jpg, .webp, .png
  * Size Limit: Maximum 10MB (Recommended size: 512 x 512px)
* Account Email: View the email address linked to your account. This is used for authentication and official service communications.
* Username: View and update your unique display name. This name defines your identity on Arkain and can be modified at any time.

#### Notification Preferences

Manage how you stay connected with Arkain.

* Receive email notifications: Toggle this setting to stay informed about Arkain services, latest updates, events, and personalized benefits. We recommend keeping this enabled to ensure you receive important platform announcements.

#### Additional Information

* Your Role: Specify your professional role to help us provide a more tailored service experience suited to your specific needs.

***

### Account Lifecycle & Security

#### Block Policy

To ensure service stability and protect user rights, Arkain maintains a strict security policy. Accounts found violating our terms may be restricted.

* For detailed information on prohibited activities and the appeal process, please refer to the [Block Policy](/user-guide/account/block-policy) page.

#### Delete Account

If you decide to leave Arkain, you can initiate the process by clicking the **\[Delete]** button at the bottom of the Account page.

* 7-Day Grace Period & Recovery: All activity records and account information will be automatically deleted after 7 days. If you wish to recover your account, you must do so before this 7-day period expires.
* Data Removal: Upon final cancellation, your account and all related information and activity records will be permanently deleted and cannot be recovered.
* Refund Policy:
  * Credits and other purchases made with real money are generally non-refundable upon account cancellation.
  * However, refunds for paid credits (within the statutory period) and memberships are available. Any remaining balance will be handled and provided by Arkain Customer Experience team.
  * If you experience any issues or require a refund, please contact us via arkain.channel.io before the 7-day deletion is finalized.


# Referral

🚀 Ready to start earning? Visit the [**Referral Page**](https://account.arkain.io/account/referral) now to generate your unique code and start sharing Arkain with your network!

<figure><img src="/files/8DPLoU6zGhqK8ElMlFy7" alt=""><figcaption></figcaption></figure>

Invite your network to Arkain and earn credits together. Our referral program is designed to reward both you and your friends as you build and grow on the platform.

### Accessing the Referral Page

There are two ways to access your referral dashboard:

1. Gift Box Icon (Quick Access): Click the Gift Box icon (<i class="fa-gift">:gift:</i>) located at the bottom-left corner of the Dashboard page.
2. Account: Click your Avatar in the top-right corner, select Account, and navigate to the Referral tab.

***

### How to Share Your Link

The Referral page provides easy-to-use tools for sharing your unique invite information.

1. Generate Your Code: Click the \[Refresh] button to generate your unique referral code for the first time or to reset it.
2. Sharing Options:
   * **\[Referral link]** Button: Click this button to copy a pre-formatted marketing message to your clipboard. This is the best way to share on social media or via email.
   * **Copy button:** Click the copy icon located directly to the right of your code to copy only the alphanumeric code itself.

{% hint style="info" %}

#### Pre-formatted Message Example

When you click the **\[Referral link]** button, the following message is copied:

> Try Arkain, an AI-powered CDE where apps come to life effortlessly. 🚀
>
> 👉 Sign up here to unlock up to 10,000 credits each. Your next big idea is just one click away!
> {% endhint %}

***

### How Rewards are Split

Rewards are issued in two stages to both the Referrer (You) and the Referred Friend.

#### Step 1. Friend Signs Up

When a friend joins Arkain using your link or enters your code manually:

* Friend: +300 credits (Issued instantly)
* You: +300 credits (Issued instantly)

#### Step 2. First Credit Purchase ($10 or more)

When your friend makes their first credit purchase of $10 or more:

* Friend: +600 credits
* You: +600 credits
* Note: These rewards are issued after a 7-day confirmation period. Please note that the first transaction must be at least $10 to qualify for the reward.

***

### Your Referral Overview

Track your progress through the real-time dashboard:

* Referred friend signed up: Monitor your progress toward the 10-friend limit.
* Referred friend first purchase: See how many friends have completed their first transaction.
* Credits earned: The total amount of bonus credits you have accumulated.

***

### Important Notes

* Retroactive Application: Referral codes must be entered during signup. They cannot be added after the account is created.
* Credit Validity: Referral credits are valid for 60 days. Unused credits will expire automatically.
* Invite Limit: Each account is limited to 10 successful referrals.
* Reward Eligibility: The Purchase Reward is only granted if the first transaction is $10 or more. Cumulative purchases do not qualify.
* Refund Policy: If a purchase is refunded within the 7-day period, the Purchase Reward will be canceled.

***

### FAQ

**Q.** Can I enter a referral code after I've already signed up?\
: No. Referral codes must be applied during the signup process. Our system does not support adding codes to existing accounts.

**Q.** My friend entered my code, but it says "Invalid Code."\
: This occurs if the code is mistyped, the 10-friend limit has been reached, or the referrer’s account is inactive.

**Q.** My friend made a purchase; why didn't I receive the 600 credits yet?\
: There are two main requirements:

1. The first purchase must be $10 or more in a single transaction.
2. There is a 7-day confirmation period after the transaction. If both conditions are met, please check your Billing page after 7 days.


# Block Policy

### Restricted Program Types

Running the following types of programs within Arkain containers is strictly prohibited. Detection of these programs may result in an immediate account block.

| Program types              | Reasons                                                              |
| -------------------------- | -------------------------------------------------------------------- |
| DDoS tool                  | Used or likely to be used for malicious behavior                     |
| DNS server                 | Used or likely to be used for malicious behavior                     |
| Exploit                    | Used or likely to be used for malicious behavior                     |
| Malicious mail sender      | Used or likely to be used for malicious behavior                     |
| Miner                      | High compute resource occupancy adversely affects service operations |
| Scanner                    | Used or likely to be used for malicious behavior                     |
| Proxy server               | High compute resource occupancy adversely affects service operations |
| Messenger                  | High computing and network resource consumption                      |
| File uploader & Downloader | High compute resource occupancy adversely affects service operations |
| Browser                    | High compute resource occupancy adversely affects service operations |
| Cryptocurrency trading bot | High compute resource occupancy adversely affects service operations |
| Game Server                | High compute resource occupancy adversely affects service operations |

### Additional Grounds for Suspension

Beyond programmatic restrictions, accounts may be blocked for the following behavioral reasons:

* Cybercrime abuse
* Violent, obscene, or hazardous content
* Infringement of others' rights, including patents, trademarks, trade secrets, copyrights, or publicity rights
* Suspicious payment behavior: Excessive payment attempts with different credit cards in a short period of time.

***

### Enforcement and Consequences

When an account is flagged and blocked, the following actions occur automatically:

1. Container Deactivation: All active containers associated with the account enter an Inactive State.
2. Payment Suspension: Automatic recurring payments for membership subscriptions are immediately canceled.
3. 7-Day Appeal Period: You are granted a 7-day window to appeal the block.
4. Permanent Deletion: If no successful appeal is made within 7 days, the account and all associated containers, data, and records are permanently deleted and cannot be recovered.

### Appeals and Unblocking

If you believe your account was blocked in error or wish to provide a legitimate explanation for your activity, you can request an unblock:

1. Click the **Help** button (<i class="fa-circle-question">:circle-question:</i>) located at the bottom-left corner of the Dashboard page or Workspace.
2. Select the **\[Contact us]** menu to open the chat support.
3. Submit your explanation and any supporting evidence within the 7-day grace period.

### Refund Policy for Blocked Accounts

* Paid Credits: A refund is available for remaining paid credits within 7 days of the payment date.
* Membership: You may request a refund for the unused portion of your membership period.
* Please contact our Customer Experience team via the **\[Contact us]** menu to inquire about eligible refunds.


# Key Terms

## **General Terminology**

### Container

A **Container** refers to a cloud-hosted Virtual Machine (VM) that serves as a development environment owned by the user. It is the primary unit where coding, testing, and debugging occur.

### Templates

The **Templates** consist of example files and pre-installed software packages that are automatically generated within a container. You can use these templates to quickly start a new project with the necessary configurations.

### Workspace

The **Workspace** is the IDE(Integrated Development Environment) where developers create and manage their projects. It includes various development tools and utilities for efficient project development.

### Credits

**Credits** are the virtual currency required to use containers. As you utilize your container and AI features, credits are deducted accordingly.

### **Membership**&#x20;

**Membership** refers to Arkain's paid plan designed for users who want to create large projects with enhanced features and advanced benefits compared to the Free Plan.

***

## **Workspace Elements**

### Arkain Snap

**Arkain Snap** is an AI assistant that turns ideas into reality. Using just natural language, it automates the initial setup of container development environments, and for simple ideas, it creates prototypes just by making a request.

### [Auto-stop](/user-guide/dashboard/container/container-management/container-settings/auto-stop)

**Auto-stop** shuts down containers after 30-40 minutes when the container's owner closes all Workspace browsers. This feature prevents unnecessary credit use and allows you to use the service more efficiently.

### Menu

The **Menu**, located at the top of the Workspace, provides access to container information and various container settings. It allows users to configure their container environment.

### Sidebar

The **Sidebar** is located on the left side of the Workspace, contains various development tools, including a file tree for easy project management and the Search feature for searching across the entire project.

### Editor

The **Editor**, located in the center of the Workspace, is where you can view and edit files. It features tabs for files, preview windows, terminal sessions, and more.

### Toggle Panel

The **Toggle Panel**, located below the editor, displays the terminal.

### [Side Chat](/user-guide/arkain-ai/side-chat)

The **Side Chat** allows you to directly interact with powerful large language models (LLMs) within the Arkain environment.\
Depending on where you use it, **Side Chat** provides different capabilities optimized for each workspace.

**Side Chat** is available in two main areas: the **Dashboard** and the **Workspace**, each offering features tailored to its purpose.&#x20;

### [Code Supporter](/user-guide/arkain-ai/code-supporter)

The **Code Supporter** is a feature that helps you write and fix code more easily and accurately by providing intelligent, real-time assistance. It works in the background to deliver features like Go to Definition, Autocomplete Suggestions, and Live Diagnostics, enabling you to improve code quality without leaving your editor.


# Credits

## What is **Credit?**

Credits are the currency required for using Arkain. When you use containers or AI features, credits are deducted from your balance.

* **Price:** 1 Credit = $0.02
* **Deduction Basis:** Credits are deducted based on container performance, storage, traffic, and AI token usage.

## How to Acquire Credits

#### 1. Purchasing Credits

You can top up credits as needed through the following steps:

* **Navigate to the Payment Page:** Access it via the **\[Buy credits]** button on the Dashboard page, Pricing, or Billing page, or the **\[Buy additional credits]** button within the Workspace.
* **Enter the Number of Credits:** Specify the amount **(Minimum: 50 credits)**. You can use bulk buttons for convenience.
* **Confirm Purchase:** Review the credit amount and total payment.
* **Enter Payment Details:** Provide the required information and click **\[Charge credits]**.

#### 2. Free & Event Credits

You can receive free credits through various programs. Note that the validity period varies by credit type.

* **Monthly Credits:**
  * **Free Plan:** 50 credits / **Membership:** 1,000 credits.
  * Credits are issued monthly and expire on the last day of the month (Based on UTC).
* **Daily Check-in**: Receive 5 event credits daily by checking in. (Valid for 1 month)
* **Coupons:** Redeem promotional codes to receive credits with specific validity periods.
* **Feedback Rewards:** Join our [**Arkain Discord community**](https://discord.gg/9EG6rN6X79) and share feedback. Get 10 credits per post, and up to 50 credits if selected as "Best Feedback."
* **Other Events:** Participate in surveys or first-purchase events. Details and validity periods are announced via notices and can be checked on the Billing page.

## Managing Credits

* **Check Purchased Credits**\
  You can view the amount of credits you've purchased on the **Billing page**.&#x20;

{% content-ref url="/pages/EwhOAmfnUkarejdW48cD" %}
[Billing](/user-guide/dashboard/billing)
{% endcontent-ref %}

* **Monthly Usage Report**\
  Access the **Credit Usage page** to review your monthly credit usage report. This helps you manage your credit payments efficiently.&#x20;
  * The **Credit Usage page** can be accessed by clicking the **\[Avatar]** → **\[Billing]** → **\[View usage]** button in the Dashboard page.

{% content-ref url="/pages/OJYmAMENRCKyBJGnLaGZ" %}
[Credit usage](/user-guide/dashboard/credit-usage)
{% endcontent-ref %}

***

<details>

<summary>Credit terms</summary>

By paying for Arkain credits, you are deemed to have agreed to the paid service agreement. Members may cancel their unused credit purchase within 7 days from the date of purchase. However, if the contents of the contract are different from the contents displayed or advertised by the company or implemented differently from the contents of the contract, the subscription may be withdrawn within three months from the date of subscription or within 30 days from the date on which the fact was known or could have been known.

The refund amount will be calculated based on the following formulas.

●      Unused Amount = (Total Billed Amount / Number of Credits Purchased) x (Number of Credits that Remain Unused)

●      Refund Amount = Ceiling (Unused Amount)

The final refund amount will be rounded up to the nearest whole number (Ceiling) if it includes a decimal.

Arkain may provide credits to members based on promotions or members’ activity history, and the conditions and details of credit provision will be announced separately through Arkain.

If a member’s service is restricted or the member withdraws, the remaining credits shall be refunded if the request is made within 7 days from the date of purchase. In such cases, the refund process must be initiated through the Customer Center or the representative email address.

Arkain may change the price of credits at any time with prior consent from the members, and will not compensate members for any loss caused by the changed price.

Events can only be redeemed once. All purchase credits, including event credits, will be refunded upon refund.

If you paid for a credit purchase with a card, then canceling a payment will cancel to the card that you paid with. Upon refund, all promotional credits provided through this event will expire and are excluded from the refund amount. Please note that refunds cannot be processed if your remaining balance is less than the promotional credits received.

</details>




---

[Next Page](/llms-full.txt/1)

