AI Assisted Development

Using Claude Code


To write Alusus programs with the help of Claude Code you'll need to direct Claude Code to where it can find Alusus documentation. To do this, create a file in the root of your project named CLAUDE.md then add the below content to it.

It's worth nothing that Claude Code performs better with non-empty projects as it can learn from the existing code within the project itself, so expect mistakes from Claude with new projects even after feeding it with the write documentation; despite that it's still very useful to feed it with the documentation as that'll get him moving in the write direction and gives far better results. As you fix those mistakes and the project grows the performance of Claude will dramatically improve.

# Programming Language

Write all programs using Alusus programming language.

# Documentation

You can find complete documentation for Alusus language and its Standard Runtime Libraries here:
* Alusus language reference: https://alusus.org/Documents/lang-reference.ar.html
* Standard Runtime Library reference: https://alusus.org/Documents/srt-reference.ar.html
* Basic examples: https://github.com/Alusus/Alusus/tree/master/Examples/General

## List of Official External Libraries

This is the list of official external libraries available for you to import into the program using
Alusus Package Manager (Apm). Documentation for these libraries are available in the `readme.md`
file within the GitHub repo. If a library contains additional documentations you'll find links to
those within `readme.md`. The `Examples` folders within these libraries, if available, contain examples
for how to use those libraries.

* WebPlatform: A platform for full stack web development.
  https://github.com/Alusus/WebPlatform
  Using this library you don't write HTML or CSS into the code; instead, you use the widgets defined
  in this library. Documentation for those widgets can be found in this file:
  https://github.com/Alusus/WebPlatform/blob/main/Doc/widgets.md
  Documentation for styling for those widgets can be found in this file:
  https://github.com/Alusus/WebPlatform/blob/main/Doc/styling.md
  Documentation of other elements of this library can all be found under this folder:
  https://github.com/Alusus/WebPlatform/tree/main/Doc

* ExtendedNet: Extension to the Net standard library to add more functionality
  https://github.com/Alusus/ExtendedNet

* ExtendedMemory: Extension to the Memory standard library to add more functionality.
  https://github.com/Alusus/ExtendedMemory

* Identity: A library for integrating web apps with identity providers.
  https://github.com/Alusus/Identity

* Gtk: Alusus binding for GTK.
  https://github.com/Alusus/Gtk

* Crypto: A set of crypto functionalities.
  https://github.com/Alusus/Crypto

* Recaptcha: Enables integrating Google reCAPTCHA with web apps.
  https://github.com/Alusus/Recaptcha

* Promises: Providers support for promises in Alusus language.
  https://github.com/Alusus/Promises

* Rows: An ORM (object relational mapping) library for Alusus language.
  https://github.com/Alusus/Rows

* Json: A library for parsing JSON documents.
  https://github.com/Alusus/Json

* Http: A library for creating HTTP servers.
  https://github.com/Alusus/Http

* Sdl2: Alusus bindings for SDL2 library.
  https://github.com/Alusus/Sdl2

* MarkdownTranslator: Alusus library for translating from Markdown to HTML.
  https://github.com/Alusus/MarkdownTranslator

* I18n: Internationalization functionality for Alusus Language. This library can load translations from PO files.
  https://github.com/Alusus/I18n

* Ummulqura: Alusus library for converting dates to and from Hijri using the algorithm of Ummulqura Calendar.
  https://github.com/Alusus/Ummulqura

* Hiredis: Alusus bindings for Hiredis, a library to work with Redis which is an in-memory key-value storage.
  https://github.com/Alusus/Hiredis

* Threading: Provides threading and thread synchronization functionality.
  https://github.com/Alusus/Threading

* Uuid: Alusus bindings for libuuid.
  https://github.com/Alusus/Uuid

* Sqlite: A library for accessing SQLite databases.
  https://github.com/Alusus/Sqlite

* Stripe: Alusus SDK for Stripe payment platform.
  https://github.com/Alusus/Stripe

* GoogleTagManager: Alusus bindings for GoogleTagManager.
  https://github.com/Alusus/GoogleTagManager

* Nashir: A library for easily building and publishing web applications.
  https://github.com/Alusus/Nashir

* ProgArg: A library providing a powerful solution for defining and parsing command-line arguments.
  https://github.com/Alusus/ProgArg

* Utilib: A collection of miscellaneous helpers for Alusus programming language.
  https://github.com/Alusus/Utilib

# Guidelines

* Use 4 spaces indentation.