A colletion of ansi/bbs related applications
  • Rust 82.5%
  • Fluent 6.6%
  • Modula-3 6.2%
  • xBase 2.7%
  • WGSL 1.7%
  • Other 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-04 14:01:21 +02:00
.cargo fixed mac build. 2025-12-23 18:39:07 +01:00
.github/workflows Version the deb and exe release assets 2026-08-23 10:28:08 +02:00
crates Fix macOS Option character input in Icy Draw 2026-09-04 14:01:21 +02:00
doc Add SSH private-key and agent authentication to icy_term 2026-08-20 05:11:26 +02:00
tools Add independently extracted RIPterm font 2026-08-24 09:50:13 +02:00
.gitattributes Enable RGB RIP test2 reference 2026-08-24 10:45:46 +02:00
.gitignore Track Cargo.lock for reproducible CI 2026-04-27 17:49:03 +02:00
.gitmodules Update submodule url. 2025-02-15 11:40:06 +01:00
Cargo.lock Support opening PCBoard files from macOS Finder 2026-09-04 09:50:32 +02:00
Cargo.toml Use upstream icy_net proxy support 2026-08-28 09:47:32 +02:00
collab.sh Improved collab tools. 2025-12-19 15:46:43 +01:00
color_test.ans Improved skypix support. 2025-11-28 21:15:36 +01:00
cosmos_db_shell_logo.ans Fix Icy Draw MCP editing workflow 2026-07-15 12:38:43 +02:00
LICENSE-APACHE Initial commit. 2024-04-10 13:09:49 +02:00
LICENSE-MIT Initial commit. 2024-04-10 13:09:49 +02:00
README.md Split CI from tagged draft releases 2026-08-19 22:06:28 +02:00
rustfmt.toml Initial commit. 2024-04-10 13:09:49 +02:00
test_scroll.ans Improved skypix support. 2025-11-28 21:15:36 +01:00

icy_tools

This repository contains tools releated to BBSing and Ansi in general. It contains:

Icy Term a terminal program for legacy BBS systems.

Icy Draw a drawing tool supporting almost all ANSI formats.

Icy View a viewer to browse/view Ansi screens.

Icy Play a tool that shows icy draw animations on cmd line/bbs.

Build instructions

# Clone the repository  
git clone https://github.com/mkrueger/icy_tools.git  
cd icy_tools  

# Update the repository and submodules  
git pull  
git submodule update --init --recursive  

# Install Rust toolchain  
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh  
source $HOME/.cargo/env  

# Install dependencies (for Debian/Ubuntu)  
sudo apt-get install build-essential libssl-dev libasound2-dev

# Install dependencies (for Nobara/Fedora)  
sudo dnf install @development-tools pkgconf-pkg-config openssl-devel alsa-lib-devel

# If you don't have apt-get, installing these libraries is similar.  
# The next step will tell you what's missing exactly.  

# Update Rust dependencies  
cargo update  

# Build the project  
cargo build --release  

# Executables for all tools are in  
ls target/release  

CI and releases

Pushes and pull requests run cargo fmt, the workspace tests, and one debug build of IcyTERM. They do not package installers.

Release binaries are built when you push a version tag for one tool:

git tag IcyTerm0.8.3
git push origin IcyTerm0.8.3

Accepted prefixes: IcyTerm, IcyDraw, IcyView. That opens a draft GitHub release and attaches Linux (.deb, AppImage), Windows (.exe), and macOS (.dmg) packages for that tool only. Review the draft, then publish it.

You can rebuild an existing tag from Actions → Release → Run workflow.