# 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