Skip to content

Guide to contributing, Starter Guide

Nguyễn Phước Thành Lâm edited this page Sep 2, 2026 · 4 revisions

Welcome to the Ciya Wiki!

ciya-logo-wiki

This Wiki should help you learn the things you need to learn about the project, help you navigate, and also provide further help when you need it. But first, let's start with the introduction!

Introduction

First, before we discuss anything, we need to talk about the beginning. During the time of 2024-2025, long before I, the author, first knew about GitHub, the creator of the project with the username: johnryzon123 started the project Ry1; it's a C++-based language, and it had evolved to Ry2, but he realized that he was using too much AI and many heavy tools, which makes the project unoptimized. So he made CRy; now it's a C-based language, which I later heard about and started committing, and after some time of talking, we talked about a new language. And on the 22nd of July of 2026, we started Ciya is designed for speed and is a successor to the past CRy; also, the name Ciya came from the Tagalog word Siya, meaning she or he. Also, after that, we created a website for Ciya here: Click me using simple HTML and CSS.

The guide for the location of files and folders (On the default or main branch code):

So, you may first see the project and think you can't face it; it's also me when I first saw it, but don't need to panic, because firstly, you can see the folders; src is where the main code sits and if you want to commit to the main code then go there. Next is the include folder, which is where the header sits. If you want to change something in the header files, go there. Inside the src folder, there is a subfolder named utils which has... you guessed it, it holds utility source code such as the REPL and getline. You may also see lexer/, where the lexer lives. And going back to the include folder, the utils is for the header of the utilities, the lexer is the lexer header, but what's misc? It actually stands for miscellaneous (meaning others or etc.), like I/O errors, compiler errors, and the exit success file. Note: The main entry point is in src/main.c

Where's the code?

Firstly, if you're looking for the code, you'll see three branches: main and development. And the main branch is the one that's tested and more stable, and it's where the default one is, but it's old, and the lexer is outdated. But the development one has the newest feature, but it could have hidden bugs or be easy to segfault, as it's the least stable.

So, if you want the most stable but outdated one, or just help us with the README, then the main branch is for you; otherwise, if you can help us with the development, then contribute to our development.

Q&A

I hope the guide helps, but if you have any problems or have anything to ask, I'll reply in a few hours to a few days later. Hope you have a good day =).

The original creator, Johnryzon Z. Abejero

Contributor:

  • Nguyễn Phước Thành Lâm