# Code App Documentation

We built it because there is nothing else on the App Store provides all these features in one app:

* A robust, high-performance text editor (Monaco Editor from Visual Studio Code)
* First class local file system support
* Extensive local language support
* SSH / FTP remote connection support (Files and terminal)
* Embedded emulated terminal
* Git Version Control
* Package manager support (pip and npm)
* Markdown, themes, server-side snippet execution and more

{% hint style="info" %}
While we want to make the editing experience as close as a desktop offers, Code App is still bounded by iOS's limitations. For example, you cannot download arbitary commands or modules with native components. Spawning subprocesses is also not possible.
{% endhint %}

![Compiling a C++ file with Clang](https://2795973332-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzNRZttJUHODcLjBFRZHP%2Fuploads%2FQfMDOriromO2ScAKXJ1T%2Fimage.png?alt=media\&token=3d085f0b-3682-4445-ae6f-d93d1b0e4443)

## Getting Started

### Installation

You can either install the app from App Store or TestFlight.

{% embed url="<https://apps.apple.com/us/app/code-app/id1512938504>" %}
Link to App Store ($5.99)
{% endembed %}

{% embed url="<https://testflight.apple.com/join/EgZ8sE2P>" %}
Link to TestFlight (Free)
{% endembed %}

Or if you'd like to get your hands dirty (Requires a Mac with Xcode installed) :&#x20;

{% embed url="<https://github.com/thebaselab/codeapp>" %}
Link to our repo
{% endembed %}

### Jump right in

Follow these guides to get started on the basics:

{% content-ref url="guides/getting-familiar" %}
[getting-familiar](https://code.thebaselab.com/guides/getting-familiar)
{% endcontent-ref %}

{% content-ref url="guides/your-first-program-in-python" %}
[your-first-program-in-python](https://code.thebaselab.com/guides/your-first-program-in-python)
{% endcontent-ref %}

{% content-ref url="guides/creating-a-node.js-project" %}
[creating-a-node.js-project](https://code.thebaselab.com/guides/creating-a-node.js-project)
{% endcontent-ref %}

{% content-ref url="guides/version-control" %}
[version-control](https://code.thebaselab.com/guides/version-control)
{% endcontent-ref %}

{% content-ref url="guides/connecting-to-a-remote-server-ssh-ftp" %}
[connecting-to-a-remote-server-ssh-ftp](https://code.thebaselab.com/guides/connecting-to-a-remote-server-ssh-ftp)
{% endcontent-ref %}

### Other Resources

{% content-ref url="extras/building-code-from-source" %}
[building-code-from-source](https://code.thebaselab.com/extras/building-code-from-source)
{% endcontent-ref %}

{% content-ref url="extras/frequently-asked-questions" %}
[frequently-asked-questions](https://code.thebaselab.com/extras/frequently-asked-questions)
{% endcontent-ref %}

{% content-ref url="extras/supported-languages" %}
[supported-languages](https://code.thebaselab.com/extras/supported-languages)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://code.thebaselab.com/code-app-documentation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
