Scitano/QUICKSTART.md

155 lines
4.5 KiB
Markdown

# Scitano 2.0 — Quickstart Guide
## System Requirements
| Requirement | Minimum | Recommended |
|-------------|---------|-------------|
| Rust toolchain | 1.75.0 | Latest stable |
| Operating System | Linux (glibc) | Linux (glibc), macOS |
| Display server | X11 | X11 or Wayland (XWayland) |
| RAM | 512 MB | 1 GB |
| Disk (build) | 200 MB | 500 MB |
| Disk (release binary) | 5 MB | 5 MB |
## Install Rust (if needed)
```bash
# Using rustup (recommended)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
# Verify
rustc --version # must be >= 1.75.0
cargo --version
```
## Clone and Build
### Option 1: Using build.sh (recommended)
```bash
git clone https://git.dcos.net/dcosnet/scitano.git
cd scitano
chmod +x build.sh
./build.sh
```
The `build.sh` script handles:
- Rust version check (>= 1.75)
- Clean release build with LTO
- Binary size reporting
- Install to `~/.local/bin/` (optional)
### Option 2: Manual cargo build
```bash
git clone https://git.dcos.net/dcosnet/scitano.git
cd scitano
cargo build --release
```
The binary is at `target/release/scitano`.
### Option 3: Install system-wide via cargo
```bash
git clone https://git.dcos.net/dcosnet/scitano.git
cd scitano
cargo install --path .
```
This places `scitano` in `~/.cargo/bin/` (ensure it's in your `$PATH`).
## Run
```bash
# From the build directory
./target/release/scitano
# If installed system-wide
scitano
```
Scitano opens with two sample buffers (`hello.rs` and `script.py`) pre-loaded.
## First 60 Seconds
1. **Save a file** — Press `Ctrl+O` while in the `hello.rs` tab
2. **Cut a line** — Move cursor to any line, press `Ctrl+K` (text from cursor to EOL is killed)
3. **Paste it back** — Press `Ctrl+U` to yank the kill-ring
4. **Build it** — Save first (`Ctrl+O`), then press `Ctrl+B` to compile and run the Rust file
5. **Check output** — Click the "Build Logs" tab in the bottom panel
6. **Switch tabs** — Click `script.py` in the tab bar
7. **Toggle sidebar** — Use View > Toggle Sidebar (or press the menu button)
8. **Get help** — Press `Ctrl+G` to see the full hotkey reference in the Messages pane
## Linting Support (optional)
Scitano can lint files if the appropriate tools are installed on your system:
| Language | Linter | Install |
|----------|--------|---------|
| Rust | `rustc` | Comes with Rust toolchain |
| Python | `python3 -m py_compile` | `sudo apt install python3` |
| Shell | `shellcheck` | `sudo apt install shellcheck` |
| C | `gcc -fsyntax-only` | `sudo apt install gcc` |
| C++ | `g++ -fsyntax-only` | `sudo apt install g++` |
| JavaScript | `node --check` | `sudo apt install nodejs` |
Lint is triggered by `Ctrl+L` or Build > ^L Lint Syntax.
## Build Tools (optional)
| Language | Compiler | Install |
|----------|----------|---------|
| Rust | `rustc` | Comes with Rust toolchain |
| C | `gcc` | `sudo apt install gcc` |
| C++ | `g++` | `sudo apt install g++` |
| Python | `python3` | `sudo apt install python3` |
| JavaScript | `node` | `sudo apt install nodejs` |
| Go | `go` | `sudo apt install golang-go` |
| Ruby | `ruby` | `sudo apt install ruby` |
| Lua | `lua` | `sudo apt install lua5.3` |
| Perl | `perl` | Usually pre-installed |
Build is triggered by `Ctrl+B` (build+run), or via the Build menu.
## Troubleshooting
### "No file path. Save first."
Build and run require the file to exist on disk. Press `Ctrl+O` to save before building.
### Display issues on Wayland
Scitano uses iced which relies on winit. On Wayland, ensure XWayland is available:
```bash
# Check if XWayland works
WAYLAND_DISPLAY= xdotool --version 2>/dev/null && echo "XWayland OK" || echo "XWayland missing"
```
### Compilation fails with linker errors
On some minimal installs, you may need system libraries:
```bash
# Debian/Ubuntu
sudo apt install libx11-dev libfontconfig-dev libfreetype-dev pkg-config
# Fedora
sudo dnf install xorg-x11-devel fontconfig-devel freetype-devel pkgconfig
```
### Slow first build
The first `cargo build --release` downloads and compiles iced and its dependencies. This takes 3-5 minutes on a typical machine. Subsequent builds are incremental and fast.
## Binary Size
With the release profile (LTO, strip, panic=abort), the binary is approximately 4-6 MB depending on the target platform.
## Next Steps
- Read the full [README.md](README.md) for complete feature documentation
- Press `Ctrl+G` inside the editor for the hotkey quick-reference
- Use the Syntax menu to manually override syntax highlighting
- Use the AI-Bridge menu to connect to Aider/Ollama for AI-assisted editing