No description
Find a file
Живко Георгиев 43f68349f0 fix: LOAD_NAME вече проверява builtins за функции като печат
- Добавена проверка в self.builtins преди NameError
- Това позволява на печат, Print и други builtin функции да работят правилно
2025-12-15 12:27:10 +02:00
.cache/clangd/index feat: CLI updates and C++ Core integration (v2.2.26) 2025-11-21 08:39:21 +02:00
.cursor Ignore huge perf_real_world.data in GitHub mirror 2025-11-22 10:07:47 +02:00
.devcontainer perf: Truth-set gates и DX инструменти 2025-11-19 12:14:29 +02:00
.forgejo/workflows feat: Тестове и стабилност (v2.2.13) 2025-11-11 21:57:34 +02:00
.github chore: PR gate за големи файлове в repo-size-check CI 2025-12-15 11:46:53 +02:00
.hypothesis fix(rust): добавена abi3-py39 съвместимост за Python 3.14+ 2025-11-30 11:37:12 +02:00
.kdev4 feat: CLI updates and C++ Core integration (v2.2.26) 2025-11-21 08:39:21 +02:00
.vscode 🔧 Поправки на Rust анализатора и LSP сървъра 2025-11-26 07:52:58 +02:00
archive ЖАР 1.9.2: Организиране на файловете - чиста директорна структура 2025-11-05 20:14:11 +02:00
assistant fix(types): поправени cli/zhar.py и assistant/context.py 2025-11-29 19:43:01 +02:00
benchmarks feat(quality): Приоритет 4 - Quality и Benchmarks 2025-12-01 08:43:51 +02:00
cli fix(types): поправени cli/zhar.py и assistant/context.py 2025-11-29 19:43:01 +02:00
community feat(community): Приоритет 3 - Community и Документация 2025-12-01 00:43:48 +02:00
config ЖАР 1.9.2: Организиране на файловете - чиста директорна структура 2025-11-05 20:14:11 +02:00
cookbook feat(cookbook): Довършване на Приоритет 2 - Пълен Cookbook 2025-12-01 00:35:45 +02:00
core fix: LOAD_NAME вече проверява builtins за функции като печат 2025-12-15 12:27:10 +02:00
data feat: Unicode стандарт за лексери/идентификатори и Rust поддръжка 2025-11-11 15:38:52 +02:00
docs feat: Приоритет C - Registry Server production дисциплина 2025-12-15 11:29:30 +02:00
examples fix: Поправка на 09_numerical_roots.zhar - 'от' е запазена дума 2025-12-15 12:24:25 +02:00
hero_projects feat: Обновени портове на контейнерите на 1000-1004 2025-12-15 11:12:11 +02:00
langpacks feat: Документация (вграден doc генератор) (v2.2.14) 2025-11-11 22:00:40 +02:00
locales chore: Версия 2.2.2 - Unicode и локализация имплементация 2025-11-11 17:00:04 +02:00
lsp feat(lsp): ЖАР Language Server v2.3.0 - пълна LSP имплементация 2025-11-30 17:54:36 +02:00
objects 🎨 Code formatting: Black + isort 2025-11-05 19:52:37 +02:00
packages/official feat(ecosystem): Приоритет 2 - ZPM v2 и пълна модулна колекция 2025-12-01 00:30:06 +02:00
playground fix(playground): Добавени импорти за Function, Class, Field, Parameter 2025-11-26 10:16:03 +02:00
playground_v3 feat: Приоритет B - Playground v3 "демо без изненади" 2025-12-15 11:25:10 +02:00
plugins Initial commit: ZHAR core + CLI 2025-10-24 13:32:17 +03:00
registry feat: Приоритет C - Registry Server production дисциплина 2025-12-15 11:29:30 +02:00
releases/lsp 🐳 Docker: 4 контейнера с автоматично стартиране 2025-12-01 13:04:21 +02:00
runners feat: Обновени портове на контейнерите на 1000-1004 2025-12-15 11:12:11 +02:00
rust_core feat(rust-core): Довършване на Приоритет 1 - Runtime Metrics & Test Harness 2025-12-01 00:21:57 +02:00
scripts feat: Приоритет D - Репо-хигиена като автоматично правило 2025-12-15 11:45:50 +02:00
spec/v1.0 feat(spec): Language Specification v1.0 - пълна документация 2025-12-01 00:00:37 +02:00
std feat: Приоритет 2 - Официални модули и Cookbook 2025-11-30 23:55:18 +02:00
templates/hello-world perf: Truth-set gates и DX инструменти 2025-11-19 12:14:29 +02:00
tests fix: Поправка на print функцията в VM и синтактични грешки в примери 2025-12-15 12:14:44 +02:00
tools fix(tools): Поправени whitespace и unused imports 2025-11-26 10:14:11 +02:00
versions Sprint 3: Stdlib V0 + Exceptions - Пълна имплементация 2025-11-03 20:56:20 +02:00
web 🐳 Docker: 4 контейнера с автоматично стартиране 2025-12-01 13:04:21 +02:00
zhar_core fix: Подобрена OwnershipStats и OwnershipAnalyzer stub имплементация 2025-11-19 15:03:52 +02:00
zhar_lib fix(zhar_lib): Поправени whitespace и unused imports 2025-11-26 10:12:33 +02:00
zhar_pm_starter 🎨 Code formatting: Black + isort 2025-11-05 19:52:37 +02:00
zharlibs Sprint 3: Stdlib V0 + Exceptions - Пълна имплементация 2025-11-03 20:56:20 +02:00
zpm feat: Приоритет C - Registry Server production дисциплина 2025-12-15 11:29:30 +02:00
.clang-format chore: Версия 2.2.2 - Unicode и локализация имплементация 2025-11-11 17:00:04 +02:00
.clang-tidy chore: Версия 2.2.2 - Unicode и локализация имплементация 2025-11-11 17:00:04 +02:00
.cspell.json Имплементация на базов стандарт за кодиране и C++ стандарт 2025-11-11 15:22:22 +02:00
.dockerignore Docker инфраструктура за playground и hero проекти 2025-11-13 13:28:58 +02:00
.editorconfig chore: Версия 2.2.2 - Unicode и локализация имплементация 2025-11-11 17:00:04 +02:00
.flake8 ЖАР 1.9.2: Почистен README и поправени тестове и flake8 config 2025-11-05 20:06:23 +02:00
.gitattributes feat: Добавен .gitattributes за правилно показване на .zhar файлове в GitHub 2025-11-18 19:00:14 +02:00
.gitignore feat: Repository hygiene - Приоритет B 2025-12-15 10:46:49 +02:00
.gitlab-ci.yml feat: Тестове и стабилност (v2.2.13) 2025-11-11 21:57:34 +02:00
.linguist-language-definition.yml 🔥 Конфигурирано Git разпознаване на ЖАР език 2025-11-09 14:27:59 +02:00
.organization_log.json chore: Премахнати всички GitHub връзки и заменени с git.vi-lab.eu 2025-11-20 14:16:31 +02:00
.pre-commit-config.yaml chore: Версия 2.2.2 - Unicode и локализация имплементация 2025-11-11 17:00:04 +02:00
.project_organization.md feat: Професионални подобрения на VM и реорганизация на проекта 2025-11-09 22:32:53 +02:00
.pylintrc подвиг: цялостна стабилизация на проекта и професионално представяне 2025-11-09 13:32:29 +02:00
AGENTS.md Update: various improvements and new features 2025-11-10 16:52:41 +02:00
asv.conf.json Raise coverage thresholds and add performance regression gates 2025-11-10 19:40:27 +02:00
CHANGELOG.md feat(community): Приоритет 3 - Community и Документация 2025-12-01 00:43:48 +02:00
CHANGELOG_VM_SAFETY.md feat: VM Безопасност, Детерминизъм и Debug Режими (v3.0.0-beta.2) 2025-11-22 22:11:03 +02:00
CODE_OF_CONDUCT.md feat(community): Приоритет 3 - Community и Документация 2025-12-01 00:43:48 +02:00
CONTRIBUTING.md feat(community): Приоритет 3 - Community и Документация 2025-12-01 00:43:48 +02:00
coverage.xml fix(rust): добавена abi3-py39 съвместимост за Python 3.14+ 2025-11-30 11:37:12 +02:00
cspell.json Add cspell entries for PyO3 terms 2025-11-14 16:29:15 +02:00
DEVELOPMENT_STATUS.md feat: Единен източник на версията и автоматична синхронизация 2025-12-15 10:44:22 +02:00
docker-compose.yml feat: Обновени портове на контейнерите на 1000-1004 2025-12-15 11:12:11 +02:00
ECOSYSTEM.md docs: добавени 'Семейства проекти' в ECOSYSTEM.md 2025-11-27 09:03:56 +02:00
GOLDEN_TESTS_FINAL_REPORT.md Синхронизация: Възстановени референции към vi-lab репозитория и актуализирана документация 2025-11-21 21:47:39 +02:00
GOLDEN_TESTS_OPTIMIZATION_REPORT.md Синхронизация: Възстановени референции към vi-lab репозитория и актуализирана документация 2025-11-21 21:47:39 +02:00
GOLDEN_TESTS_REPORT.md Синхронизация: Възстановени референции към vi-lab репозитория и актуализирана документация 2025-11-21 21:47:39 +02:00
GOLDEN_TESTS_SUCCESS_REPORT.md Синхронизация: Възстановени референции към vi-lab репозитория и актуализирана документация 2025-11-21 21:47:39 +02:00
LICENSE docs: Добавени legal документи (LICENSE, SECURITY, RELEASE_NOTES) 2025-11-13 12:29:15 +02:00
Makefile feat: address VI Team Security Group feedback - version sync, benchmarks, logging 2025-11-09 04:27:38 +02:00
MANIFEST.in Fix package pollution: remove backup files from distribution 2025-11-10 18:39:54 +02:00
mkdocs.yml chore: Премахнати всички GitHub връзки и заменени с git.vi-lab.eu 2025-11-20 14:16:31 +02:00
mypy.ini fix(types): поправени cpp bindings и examples - остават само 2 модула 2025-11-29 22:23:33 +02:00
PROJECT_WALKTHROUGH.md Синхронизация: Възстановени референции към vi-lab репозитория и актуализирана документация 2025-11-21 21:47:39 +02:00
pyproject.toml feat: Единен източник на версията и автоматична синхронизация 2025-12-15 10:44:22 +02:00
pytest.ini feat: Test Gates система - Приоритет C 2025-12-15 10:58:54 +02:00
README.md feat: Приоритет A - "Една истина" за версии + release канали 2025-12-15 11:20:29 +02:00
README_CHANGES_SUMMARY.md Поправка на примерите: български ключови думи, синтактични проблеми 2025-11-23 10:30:15 +02:00
RELEASE.md feat: Release инженеринг - alpha→beta→rc→stable цикъл 2025-11-19 12:31:07 +02:00
rust-toolchain.toml Поправка на примерите: български ключови думи, синтактични проблеми 2025-11-23 10:30:15 +02:00
rustfmt.toml chore: Версия 2.2.2 - Unicode и локализация имплементация 2025-11-11 17:00:04 +02:00
STABILITY_MATRIX.md feat: Приоритет A - "Една истина" за версии + release канали 2025-12-15 11:20:29 +02:00
STABILIZATION_STATUS.txt Fix PyO3 0.22 API compatibility and Python 3.14 build issues 2025-11-20 19:41:44 +02:00
test_examples_by_core.py feat: VM Безопасност, Детерминизъм и Debug Режими (v3.0.0-beta.2) 2025-11-22 22:11:03 +02:00
test_lenient.zhar test: Поправена semantic_check функция и добавен тест за lenient режим 2025-11-19 15:52:44 +02:00
TODO_BACKEND_FULL_UPDATE.md feat(backend): Backend v2 API - пълна имплементация 2025-11-27 10:00:50 +02:00
token.sig feat(unicode): ЖАР 3.0.2 – Cyrillic Core Hardening 2025-11-28 09:01:40 +02:00
zhar.code-workspace 🔧 Поправки на Rust анализатора и LSP сървъра 2025-11-26 07:52:58 +02:00
zhar.toml feat: Интеграция с външни езици (v2.2.16) 2025-11-11 22:09:27 +02:00

🇧🇬 ЖАР (Zhar)

MIT Python 3.10+ Version Status Tests Unicode

Runtime Status: Rust Core Python Core C++ Core Go Core

ЖАР е модерен програмен език с българска синтактика. Подходящ за обучение, прототипиране и професионална разработка.


📋 Версии и Release Channels

Какво означава "1.0" vs "3.x"?

ЖАР използва две независими версионни схеми за ясно разделение:

  • Language Specification v1.0 - Спецификацията на езика (стабилна, дефинирана)
  • Runtime/Toolchain v3.1.0 - Имплементацията и tooling-ът (еволюираща, подобряваща се)

Language Spec v1.0 дефинира синтаксиса, семантиката и API-то на стандартната библиотека. Тя е стабилна и гарантира backwards compatibility.

Runtime v3.1.0 е версията на имплементацията - runtime ядрата, CLI инструментите, компилаторите. Тя еволюира с нови features и подобрения, но остава съвместима със спецификацията.

Release Channels

Channel Статус Използване
Stable Production-ready Препоръчително за всички
RC ⚠️ Release Candidate Финални тестове преди stable
Beta ⚠️ Нови features Тестване, feedback добре дошъл
Alpha 🧪 Експериментално Само за разработка, не за production

Текуща версия: Runtime v3.1.0 (Stable) съвместима със Language Spec v1.0

За пълна информация вижте Version Policy.


🚀 Ново в версия 3.1.0

Native Backends - Всички работят!

Последни подобрения (Януари 2025):

  • C++ Backend - Поправено зареждане на библиотеката, поддръжка на версионирани библиотеки
  • Rust Backend - Компилиран и интегриран, lazy initialization
  • Go Backend - Интегриран като Python bridge, активен и работи
  • ZPM (Package Manager) - Интегриран като команда, добавени зависимости

Тестове: 9/9 теста преминават успешно (100% успех)

Backend Статус Версия
Rust Core Production 3.1.0
C++ Core Active 2.2.24
Go Core Active 2.1.0
Python Core Reference 3.1.0
📦 ZPM v2 - Пълен Package Manager
Команда Описание
zpm init Създава нов проект
zpm add Добавя зависимост
zpm update Обновява зависимости
zpm lock Генерира lock файл
zpm vendor Кешира локално
zpm publish Публикува в registry
zpm search Търси пакети
zpm info Информация за пакет
zpm list Инсталирани пакети
📚 8 Официални модула
Модул Описание
zhar-http HTTP клиент (GET, POST, PUT, DELETE)
zhar-http-server REST сървър с routing и middleware
zhar-json JSON parse/stringify
zhar-yaml YAML поддръжка
zhar-cli CLI инструменти (аргументи, цветове, progress bar)
zhar-crypto Криптография (SHA, HMAC, Argon2, Ed25519, AES-GCM)
zhar-sqlite SQLite база с QueryBuilder и миграции
zhar-logging Структурирано логване с нива
📖 10 Cookbook рецепти
Рецепта Категория
Mini Web API Web
REST Client с JWT/OAuth2 Web
Worker Queue система Web
Simple Web GUI Web
File Processor CLI
JSON Processing Data
Sorting Algorithms Algorithms
Cyrillic Processing Unicode
Python Integration (NumPy, Pandas) Bridges
Rust Integration (PyO3, Rayon) Bridges
🔧 LSP v2.3.0
  • Autocomplete с контекст
  • Hover информация
  • Go-to definition
  • Find references
  • Rename символи
  • Document formatting
  • Diagnostics (грешки, предупреждения)
  • Code actions (quick fixes)
  • Semantic highlighting
  • VS Code extension с snippets
  • Neovim конфигурация
📜 Language Specification v1.0
  • 01-introduction.md - Цели и обхват
  • 02-lexical.md - Токени, идентификатори, ключови думи
  • 03-types.md - Типова система
  • 06-functions.md - Функции, ламбди, рекурсия
  • 07-classes.md - ООП, наследяване
  • 08-modules.md - Модулна система
  • 09-unicode.md - UAX #31, NFC, UTS #39
  • 10-errors.md - Exception handling
🤝 Community
Канал Линк
Discord discord.gg/zhar-lang
Telegram @zhar_lang
Forgejo Issues https://git.vi-lab.eu/orion/zhar/issues
Twitter/X @zhar_lang
LinkedIn ЖАР Programming Language
Reddit r/zhardev
📊 Benchmark Suite
# Изпълни всички benchmarks
python benchmarks/run_all.py

# JSON изход
python benchmarks/run_all.py --json

# Конкретна категория
python benchmarks/run_all.py --category compute
Категория Тестове
compute fibonacci, primes, quicksort
strings concat, search, replace
collections list ops, dict ops
unicode NFC normalization
🔧 CI/CD Quality Gates
Job Описание
lint-python ruff, black, mypy
lint-rust rustfmt, clippy
test-python pytest + coverage
test-rust cargo test
benchmarks Performance tracking
security Trivy, Safety, Bandit
docs MkDocs build
📚 Docs Site (47 страници)
cd docs/site
mkdocs serve -a 0.0.0.0:1000
# http://localhost:1000
Секция Страници
Getting Started 5
Spec 10
Stdlib 7
ZPM 5
Cookbook 5
Cores 5
API 5
Contributing 4
Blog 1

📋 Съдържание

  1. Инсталация
  2. Hello World
  3. CLI команди
  4. Примери
  5. ZPM (Package Manager)
  6. Официални модули
  7. LSP и IDE поддръжка
  8. Cookbook
  9. За образование
  10. Архитектура
  11. Документация
  12. Community
  13. Принос

🚀 Инсталация

Вариант 1: Стандартна инсталация

# 1. Клониране
git clone https://git.vi-lab.eu/orion/zhar.git
cd zhar

# 2. Python среда
python -m venv .venv
source .venv/bin/activate  # Linux/Mac
# .venv\Scripts\activate   # Windows

# 3. Инсталация
pip install -e ".[dev]"

# 4. Проверка
zhar --version

Вариант 2: Бърза инсталация

# Forgejo-first: използва raw файл от Forgejo
curl -sSL https://git.vi-lab.eu/orion/zhar/raw/branch/main/scripts/install.sh | sh

Вариант 3: Docker Compose (Препоръчително)

# Стартиране на всички услуги
docker compose up -d --build

# Проверка на статус
docker compose ps

# Логове
docker compose logs -f

Достъпни услуги:

Вариант 4: Docker (Standalone)

docker pull zhar-lang/zhar:latest
docker run -it zhar-lang/zhar

Системни изисквания

Компонент Минимум Препоръчително
Python 3.10+ 3.11+
Rust 1.70+ 1.75+ (за Rust Core)
RAM 512 MB 2 GB
Disk 100 MB 500 MB

👋 Hello World

печат "Здравей, свят!"
zhar run hello.zhar
# Изход: Здравей, свят!

🛠️ CLI команди

Основни

Команда Описание
zhar run <file> Изпълнява файл
zhar repl Интерактивен режим
zhar check <file> Проверка без изпълнение
zhar fmt <file> Форматиране
zhar test Изпълнява тестове
zhar --version Показва версия

Безопасност

zhar run --sandbox app.zhar          # Изолиран режим
zhar run --no-fs app.zhar            # Без файлова система
zhar run --no-net app.zhar           # Без мрежа
zhar run --memory-limit 50MB app.zhar # Лимит памет

💡 Примери на езика

Променливи

нека име = "Иван"
нека възраст = 25
нека активен = истина

Условия

ако възраст >= 18 тогава
    печат "Пълнолетен"
иначе
    печат "Непълнолетен"
край

Цикли

за x в [1, 2, 3, 4, 5]
    печат x * 2
край

Функции

функция факториел(n: число) -> число
    ако n <= 1 тогава
        връщай 1
    край
    връщай n * факториел(n - 1)
край

печат факториел(5)  # 120

Класове

клас Точка
    функция нов(x: число, y: число)
        моя.x = x
        моя.y = y
    край
    
    функция разстояние() -> число
        връщай (моя.x ** 2 + моя.y ** 2) ** 0.5
    край
край

нека т = Точка(3, 4)
печат т.разстояние()  # 5.0

📦 ZPM (Package Manager)

Статус: Работи (интегриран като команда)

ZPM е пълнофункционален package manager за ЖАР, интегриран като команда в проекта.

Команди v2

Команда Описание
zpm init Създава нов проект
zpm add <pkg> Добавя зависимост
zpm update Обновява зависимости
zpm lock Генерира lock файл
zpm vendor Кешира локално
zpm publish Публикува в registry
zpm search <query> Търси пакети
zpm info <pkg> Информация за пакет
zpm list Инсталирани пакети

Пример

zpm init моят_проект
cd моят_проект
zpm add zhar-http@^1.0.0
zpm add zhar-json@^1.0.0
zhar run main.zhar

zpm.toml

[package]
name = оят_проект"
version = "1.0.0"
authors = ["Иван Петров <ivan@example.com>"]

[dependencies]
zhar-http = "^1.0.0"
zhar-json = "^1.0.0"

📚 Официални модули

Модул Описание Пример
zhar-http HTTP клиент GET("https://api.com")
zhar-http-server REST сървър сървър.GET("/api", handler)
zhar-json JSON parse(json_низ)
zhar-yaml YAML прочети("config.yaml")
zhar-cli CLI tools ArgParser, Цветове, ProgressBar
zhar-crypto Криптография SHA256, Ed25519, AES_GCM
zhar-sqlite SQLite Database, QueryBuilder, Migration
zhar-logging Логване info(), error(), debug()

Използване

импортирай GET, POST от zhar-http
импортирай parse, stringify от zhar-json

нека отговор = GET("https://api.example.com/data")
нека данни = parse(отговор.body)
печат данни["name"]

🔧 LSP и IDE поддръжка

VS Code

cd releases/lsp/vscode
npm install
npm run compile
code --install-extension zhar-lsp-2.3.0.vsix

Features:

  • Autocomplete
  • Hover информация
  • Go-to definition
  • Find references
  • Rename
  • Formatting
  • 19 Snippets

Neovim

-- ~/.config/nvim/lua/zhar.lua
local nvim_lsp = require('lspconfig')
nvim_lsp.zhar_lsp.setup({
    cmd = { 'zhar_lsp' },
    filetypes = { 'zhar' },
})

Keybindings:

  • gd - Go to definition
  • K - Hover
  • gr - References
  • <space>rn - Rename
  • <space>f - Format

📖 Cookbook

Практически примери в cookbook/:

Рецепта Описание
Mini Web API REST API с GET/POST
REST Client JWT, OAuth2, API Key
Worker Queue Background jobs
Web GUI HTML/CSS/JS GUI
File Processor CLI tool
JSON Processing Parse, stringify
Sorting Bubble, Selection, Insertion
Cyrillic Unicode, NFC
Python NumPy, Pandas
Rust PyO3, Rayon

🎓 ЖАР за образование

Инсталация за учебни цели

git clone --depth 1 https://git.vi-lab.eu/orion/zhar.git
cd zhar
python -m venv .venv && source .venv/bin/activate
pip install -e .

Директории за преподаватели

Директория Описание
examples/ 200+ примери
examples/golden/ Еталонни тестове
cookbook/ 10 практически рецепти
hero_projects/ 3 демо проекта

Безопасен режим за изпити

zhar run --sandbox --no-fs --no-net student.zhar
timeout 10 zhar run student.zhar

🏗️ Архитектура

Изходен код (.zhar)
        ↓
    Лексер (UTF-8, NFC, UAX #31)
        ↓
    Парсер (Recursive descent)
        ↓
      AST
        ↓
  Type Checker + Security (UTS #39)
        ↓
      ZIR
        ↓
  ┌────┴────┐
  ▼         ▼
Python   Rust/C++/Go
  VM      Backend

Runtime Policy

Ядро Статус CI Policy
Rust Core 🟢 Production Blocking
C++ Core 🟢 Active Blocking
Go Core 🟢 Active Blocking
Python Core 🔵 Reference Warning

Unicode Support (3.1.0)

Feature Python Rust C++ Go
UAX #31
NFC
UTS #39 Confusables
Mixed Script

📚 Документация

Документ Описание
spec/v1.0/ Language Specification v1.0
docs/RUNTIME_POLICY.md Runtime Policy
docs/UNICODE_POLICY.md Unicode Policy
docs/ECOSYSTEM_STRATEGY.md Ecosystem Strategy
cookbook/ Practical recipes
CHANGELOG.md Version history
CONTRIBUTING.md How to contribute
CODE_OF_CONDUCT.md Code of Conduct

Docs Site

# Build docs
pip install mkdocs-material
cd docs/site
mkdocs serve
# Open http://localhost:8000

🤝 Community

Канал Описание
Discord Чат, помощ, идеи
Telegram @zhar_lang - новини
Forgejo Issues RFC, Q&A, bug reports
Twitter/X @zhar_lang - releases
LinkedIn Професионална мрежа
Reddit r/zhardev

Контакт

Цел Email
Общи въпроси hello@zhar-lang.org
Сигурност security@zhar-lang.org
Бизнес business@zhar-lang.org

🤝 Принос

Вижте CONTRIBUTING.md за пълни инструкции.

# 1. Fork и clone
git clone https://git.vi-lab.eu/YOUR_USER/zhar.git

# 2. Създай branch
git checkout -b feature/my-feature

# 3. Промени и тестове
pytest tests/

# 4. Commit (conventional commits)
git commit -m "feat(parser): add lambda support"

# 5. Push и PR
git push origin feature/my-feature

Code Style

  • Python: PEP 8, type hints, ruff, black
  • Rust: rustfmt, clippy
  • Commits: Conventional Commits

📊 Статус на проекта

Компонент Статус Версия
Език (Core) Stable 3.1.0
Rust Core Production 3.1.0
C++ Core Active 2.2.24
Go Core Active 2.1.0
ZPM Stable 2.0
LSP Stable 2.3.0
Официални модули Stable 1.0.0
Cookbook Complete 10 recipes
Spec v1.0 Complete 10 docs
Docs Site Complete 47 pages
Benchmark Suite Complete 4 categories
CI/CD Complete Quality Gates
Comprehensive Tests Complete 100% success
Playground ⚠️ Beta -

Производителност

Метрика Rust Core Python Core
Fibonacci(40) 0.8s 45.2s
String 1M 0.15s 2.1s
List 100K 0.05s 0.9s

CI/CD

# Quality Gates на всеки PR
- Lint (Python + Rust)
- Tests (pytest + cargo test)
- Security (trivy, safety)
- Docs build

Тестване

Всеобхватни тестове:

  • test_capabilities.py - Базов тест за езикови функции (27 теста)
  • test_comprehensive_capabilities.py - Всеобхватен тест за всички компоненти (9 теста)
  • 100% успех на всички тестове
# Изпълни всеобхватен тест
python -c "from tests.test_comprehensive_capabilities import print_comprehensive_report; print_comprehensive_report()"

# Или с pytest
pytest tests/test_comprehensive_capabilities.py -v

Покрити компоненти:

  • CLI команди (zhar --version, zhar run, zhar check)
  • Standard Library модули (мат, текст, списък, речник)
  • Native Backends (Rust, C++, Go)
  • FFI Bridges (Python)
  • Type System (annotations, inference)
  • ZPM (Package Manager)
  • Примерни файлове

📄 Лиценз

MIT License - вижте LICENSE


🔗 Линкове


ЖАР - Българският програмен език! 🇧🇬🔥