janofidel
v1.1.0
Published
Amharic Programming Language (Jano Fidel)
Maintainers
Readme
ጃኖ ፊደል (Jano Fidel) 
A Native Amharic Programming Language built on Node.js.
ጃኖ ፊደል (Jano Fidel) is a high-level programming language that allows developers to write full-scale applications using the Ethiopic (Ge'ez) script. It transpiles directly to JavaScript, giving you the power of the Node.js ecosystem with a completely native writing experience.
✨ ዋና ዋና ባህሪያት (Features)
- Native Keywords: Use
ይሁን(let),ተግባር(function), andከሆነ(if) instead of English equivalents. - Ethiopic Numerals: Full support for Ge'ez numbers (፩, ፪, ፲፪...) with a built-in conversion engine.
- Amharic Built-ins: Native aliases for common objects like
ሒሳብ(Math),ቀን(Date), andያትም(console.log). - Asynchronous Support: Full
ጊዜጠባቂ(async) andጠብቅ(await) support for modern development. - CLI Tool: Run your code globally with the
janocommand.

🚀 አጀማመር (Quick Start)
1. Installation
For users
npm install -g janofidel@latestFor developers
Clone the repository and link it to your global path:
cd JanoFidel
npm install
sudo npm link
2. Writing your first Jano file (ሰላምታ.jf)
ተግባር ሰላምታ_ስጥ(ስም) {
መልስ "ሰላም " + ስም + " እንኳን ወደ ጃኖ ፊደል መጣህ!"፤
}
ያትም(ሰላምታ_ስጥ("ዮናስ"))፤
// Math with Ge'ez numbers
ይሁን ውጤት = ፲፪ + ፰፤
ያትም("፲፪ + ፰ = " + ውጤት)፤
3. Running the code
jano ሰላምታ.jf
🛠️ CLI ትዕዛዞች (CLI Usage)
|command(ትዕዛዝ) | Description(መግለጫ) |
| --- | --- |
|jano <file.jf> | Runs the JanoFidel file |
|jano -v, --version | Show current version |
|jano -h, --help | Show the help manual |
|jano -l, --list | Access dictionary list |
📚 የቋንቋው መዝገበ-ቃላት (Dictionary Mapping)
| Jano (ጃኖ) | JavaScript Equivalent |
| --- | --- |
| ይሁን | let / var |
| ቋሚ | const |
| ተግባር | function |
| መደብ | class |
| ከሆነ | if |
| ካልሆነ | else |
| መልስ | return |
| ያትም | console.log |
| ። | . (Dot operator) |
🛠️ የቴክኒክ መዋቅር (Architecture)
- Lexer: Scans
.jffiles for Ethiopic characters and tokens. - Number Engine: Converts additive Ethiopic numerals () into Arabic numerals for JavaScript.
- Prelude: A standard library injected at runtime to provide prototype aliases (e.g., adding
.ርዝመትto Arrays). - Transpiler: Maps the tokens to valid JavaScript and executes via the Node.js VM.
🤝 ማበረታቻ (Contributing)
We welcome contributions! If you want to add more keywords to the dictionary.js or expand the prelude.js standard library, feel free to open a Pull Request.
📄 ፈቃድ (License)
This project is licensed under the MIT License.
