# \[ANN\] A console based AdaIDE (pre-Alpha) (Vibe coded with Claude)

**URL:** <https://forum.ada-lang.io/t/ann-a-console-based-adaide-pre-alpha-vibe-coded-with-claude/4917>\
**Category:** Releases\
**Tags:** ada, tui, turbovision\
**Created:** [November 6, 2026, 5:37am UTC](https://forum.ada-lang.io/t/ann-a-console-based-adaide-pre-alpha-vibe-coded-with-claude/4917 "2026-11-06T05:37:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Qunying](https://forum.ada-lang.io/letter_avatar_proxy/v4/letter/q/f9ae1b/32.png) [@Qunying](https://forum.ada-lang.io/u/Qunying)\
**Post date:** [November 6, 2026, 5:37am UTC](https://forum.ada-lang.io/t/ann-a-console-based-adaide-pre-alpha-vibe-coded-with-claude/4917/1 "2026-11-06T05:37:15Z")

</div>

Hi,

I have created a console based AdaIDE in the spirit of the classic Bordland C++ IDE in the old DOS days.

It contains a few parts:

1. The low level console terminal\_io library [qunying / terminal\_io · GitLab](https://gitlab.com/qunying/terminal_io)
2. Unicode grapheme library [qunying / grapheme-ada · GitLab](https://gitlab.com/qunying/grapheme-ada) (converted from the C libgrapheme library from [suckless.org](https://libs.suckless.org/libgrapheme/)).
3. AdaVision library (the TurboVision). [qunying / adavision · GitLab](https://gitlab.com/qunying/adavision) (It contains a subset of strings-edit code from @Dmitry).
4. The AdaIDE [qunying / adaide · GitLab](https://gitlab.com/qunying/adaide)

Most (99%) if not all of the code are done with cluade code.

To compile, just check out the 4 repositories under the same directory then cd to adaide, and make. It needs gprbuild. I’m using FSF gcc 16.2.0. It is exclusively develop under Linux, so it may only work under Linux. BSDs might work. No idea about macOS, Windows definitely not, I don’t have Windows machine for myself and haven’t done any real development under Windows for decades.

I have not used the IDE for self-hosting the development yet. It is kind of a test how AI coding could help.

It should run under a terminal that support unicode and run under a locale with utf8. Strings are treated as raw bytes to hold utf-8 strings. Please don’t compile with ‘-gnatW8’ it will break the IO.

My own Ada skill is lousy, AI helps a lot.

---

<div class="post-metadata">

**Author:** ![Max](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/max/32/21_2.png) [@Max](https://forum.ada-lang.io/u/Max)\
**Post date:** [November 6, 2026, 7:17am UTC](https://forum.ada-lang.io/t/ann-a-console-based-adaide-pre-alpha-vibe-coded-with-claude/4917/2 "2026-11-06T07:17:48Z")

</div>

> [@Qunying](#):
>
> 1. Unicode grapheme library [qunying / grapheme-ada · GitLab](https://gitlab.com/qunying/grapheme-ada) (converted from the C libgrapheme library from [suckless.org](https://libs.suckless.org/libgrapheme/)).

Why did you choose it? Is it better than vss-text, Ada from scratch?

---

<div class="post-metadata">

**Author:** ![Heziode](https://forum.ada-lang.io/user_avatar/forum.ada-lang.io/heziode/32/709_2.png) [@Heziode](https://forum.ada-lang.io/u/Heziode)\
**Post date:** [November 6, 2026, 11:57am UTC](https://forum.ada-lang.io/t/ann-a-console-based-adaide-pre-alpha-vibe-coded-with-claude/4917/3 "2026-11-06T11:57:18Z")

</div>

In addition to Max, why writting a new terminal capabilities deteciton lib, since there is already [termicap](https://github.com/adarium-labs/termicap) that also handle Windows,MacOS and Linux?

---

<div class="post-metadata">

**Author:** ![Qunying](https://forum.ada-lang.io/letter_avatar_proxy/v4/letter/q/f9ae1b/32.png) [@Qunying](https://forum.ada-lang.io/u/Qunying)\
**Post date:** [November 6, 2026, 6:13pm UTC](https://forum.ada-lang.io/t/ann-a-console-based-adaide-pre-alpha-vibe-coded-with-claude/4917/4 "2026-11-06T18:13:36Z")

</div>

It is not better but serve different purposes. VSS-text is little bit heavy to use, in adavision, it would be better to operate on direct byte sequences, rather than an abstract layer of VSS string. And I like the idea from libgrapheme and its minimum resource needed.

---

<div class="post-metadata">

**Author:** ![Qunying](https://forum.ada-lang.io/letter_avatar_proxy/v4/letter/q/f9ae1b/32.png) [@Qunying](https://forum.ada-lang.io/u/Qunying)\
**Post date:** [November 6, 2026, 6:13pm UTC](https://forum.ada-lang.io/t/ann-a-console-based-adaide-pre-alpha-vibe-coded-with-claude/4917/5 "2026-11-06T18:13:57Z")

</div>

I am not aware of termicap, but would take a look at it.
