Skip to content

Commit 924d2d3

Browse files
committed
Prepare FreeBSD 14.3 migration: fallback to pip for Python 3.11 since uv is not supported on FreeBSD, adjust related dependencies
1 parent 95e445a commit 924d2d3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+2216
-195
lines changed

.dockerignore

100644100755
File mode changed.

.github/workflows/ci.yml

100644100755
File mode changed.

.github/workflows/freebsd-pkg.yml

100644100755
File mode changed.

.github/workflows/release.yml

100644100755
File mode changed.

.gitignore

100644100755
File mode changed.

.python-version

100644100755
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.13.5
1+
3.11.13

LICENSE

100644100755
File mode changed.

Makefile

100644100755
Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,13 @@ package-rpm: clean
7676
package-rpm-docker:
7777
docker build -f docker/build-linux-rpm.Dockerfile -t ecli-rpm:alma9 .
7878
docker run --rm -v "$$(pwd):/app" -w /app ecli-rpm:alma9
79+
80+
7981
# ---------------------------
8082
# Packaging (PKG) — FreeBSD
8183
# ---------------------------
8284

83-
# Используй GitHub Actions для сборки .pkg во FreeBSD 14 VM
85+
# Use GitHub Actions to build .pkg in a FreeBSD 14 VM
8486
.PHONY: package-freebsd-ci
8587
package-freebsd-ci:
8688
@echo "--> Triggering GitHub Actions workflow for FreeBSD .pkg build..."
@@ -91,10 +93,17 @@ package-freebsd-ci:
9193
@echo "Optional via GitHub CLI:"
9294
@echo " gh workflow run freebsd-pkg.yml"
9395

94-
# Локально через Docker это не работает (образ vmactions/freebsd-vm недоступен для pull)
96+
# This doesn't work locally via Docker (the vmactions/freebsd-vm image is not available for pull)
9597
.PHONY: package-freebsd-docker
9698
package-freebsd-docker:
9799
@echo "Local launch of FreeBSD VM via Docker is not possible:"
98100
@echo " ghcr.io/vmactions/freebsd-vm is not published for docker pull."
99101
@echo "Use: make package-freebsd-ci (build in GitHub Actions)."
100102
@exit 125
103+
104+
# ---------------------------
105+
# Packaging (PKG) — FreeBSD (local)
106+
# ---------------------------
107+
.PHONY: package-freebsd
108+
package-freebsd: clean
109+
./scripts/build-freebsd-pkg.sh

README.md

100644100755
Lines changed: 78 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,54 +6,115 @@
66
<p align="center">
77
<b>The Next-Gen Terminal IDE www.ecli.io</b><br/>
88
A modern, AI-powered, extensible code editor for the terminal.
9-
109
</p>
1110

1211
<br>
1312

14-
1513
### 🚀 About **Ecli**
1614

17-
**Ecli** (short for *Editor CLI*) is a next-generation terminal IDE.
15+
**Ecli** (short for *Editor CLI*) is a next-generation terminal IDE.
1816
It brings the power of modern development tools into your terminal - fast, extensible, AI-ready.
1917

2018
<br>
2119

2220
#### ✨ Key Features
2321

24-
- 🧠 **AI Panel** - integrated assistant for code, docs, and refactoring
22+
- 🧠 **AI Panel** - integrated assistant for code, docs, and refactoring
23+
- 📂 **File Manager** - navigate and manage projects seamlessly
24+
- 🌱 **Git Panel** - stage, commit, push/pull directly in terminal
25+
- 🌈 **Syntax Highlighting** - powered by Tree-sitter, supports 70+ languages
26+
- 📝 **LSP Integration** - full Language Server Protocol support (autocomplete, diagnostics, go-to-definition)
27+
- 🐍 **Built-in Linters** -
28+
- **Ruff** (Python) integrated by default
29+
- Support for external linters across 70+ languages
30+
-**Extensible Architecture** - plugins & themes
31+
- 🎨 **Dark/Light Themes** out of the box
32+
- 🔄 **Cross-platform**: Linux, macOS, and FreeBSD
33+
34+
---
2535

26-
- 📂 **File Manager** - navigate and manage projects seamlessly
36+
### 📦 Installation
2737

28-
- 🌱 **Git Panel** - stage, commit, push/pull directly in terminal
38+
#### 1. System Dependencies
2939

30-
- 🌈 **Syntax Highlighting** - powered by Tree-sitter, supports 70+ languages
40+
First, ensure you have the `ncurses` library installed. This is a required dependency for the terminal interface.
3141

32-
- 📝 **LSP Integration** - full Language Server Protocol support (autocomplete, diagnostics, go-to-definition)
42+
<details>
43+
<summary>Click to see installation commands for your OS</summary>
3344

34-
- 🐍 **Built-in Linters** -
45+
##### **On Debian/Ubuntu:**
46+
47+
```bash
48+
sudo apt-get update && sudo apt-get install libncursesw5-dev
49+
```
50+
51+
##### **On Fedora/CentOS/RHEL:**
52+
53+
```bash
54+
sudo dnf install ncurses-devel
55+
```
3556

36-
- **Ruff** (Python) integrated by default
57+
##### **On Arch Linux:**
3758

38-
- Support for external linters across 70+ languages
59+
```bash
60+
sudo pacman -S ncurses
61+
```
3962

40-
-**Extensible Architecture** - plugins & themes
63+
##### **On FreeBSD:**
4164

42-
- 🎨 **Dark/Light Themes** out of the box
65+
```bash
66+
sudo pkg install ncurses
67+
```
4368

44-
- 🔄 **Cross-platform**: Linux, macOS, Windows
69+
</details>
4570

4671
<br>
4772

73+
#### 2. Install ECLI
4874

49-
### 📦 Installation
75+
You can install ECLI using a pre-compiled package (recommended) or with `pip`.
76+
77+
##### **Option A: From a Package (Recommended)**
5078

51-
With pip:
79+
Download the appropriate package for your system from the [**GitHub Releases**](https://github.com/SSobol77/ecli/releases) page, then run the command for your OS.
80+
81+
**On Debian/Ubuntu:**
5282

5383
```bash
54-
pip install ecli
84+
# Replace with the actual downloaded filename
85+
sudo apt install ./ecli-0.1.0_amd64.deb
5586
```
5687

88+
**On Fedora/CentOS/RHEL:**
5789

90+
```bash
91+
# Replace with the actual downloaded filename
92+
sudo dnf install ./ecli-0.1.0-1.x86_64.rpm
93+
```
94+
95+
**On FreeBSD:**
96+
97+
```bash
98+
# Replace with the actual downloaded filename
99+
sudo pkg install ./ecli-0.1.0.pkg
100+
```
101+
102+
**On Arch Linux:**
103+
104+
The recommended method for Arch Linux is to install from the Arch User Repository (AUR). Once the package is available on the AUR, you can install it using an AUR helper like `yay`:
105+
106+
```bash
107+
yay -S ecli
108+
```
109+
110+
*(Note: The `ecli` package must be submitted to the AUR first.)*
58111

59112
<br>
113+
114+
##### **Option B: With pip**
115+
116+
This method requires you to have Python 3.11+ and `pip` installed, in addition to the system dependencies mentioned above.
117+
118+
```bash
119+
pip install ecli
120+
```

config.toml

100644100755
File mode changed.

0 commit comments

Comments
 (0)