Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 1, 2025

Adds comprehensive specification for curl integration to enable curl url/to/ansi.ans | ansilust and intelligent artpack caching.

New Files

  • TODO/curl.md - Complete technical specification with:

    • Stdin/pipe support for single file streaming
    • Archive detection and hash-based caching (~/.cache/ansilust/artpacks/)
    • Baud rate simulation (--speed 9600) for authentic BBS experience
    • Cache management (--clear-cache)
    • Implementation-ready Zig code examples for all components
    • Phased rollout plan (stdin → archives → speed → cache → polish)
  • TODO/README.md - Updated to reference curl.md

Usage Patterns

# Single file streaming
curl https://16colo.rs/pack/acid96/US-JELLY.ANS | ansilust

# Artpack with speed simulation (cached for subsequent runs)
curl https://16colo.rs/pack/acid96/download | ansilust --speed 9600

# Cache management
ansilust --clear-cache acid96

Technical Approach

  • Content detection: Magic bytes (ZIP/RAR/7z) vs raw ANSI
  • Cache keys: Blake3 hash of archive prevents re-downloads
  • Speed simulation: Character-by-character output at configurable baud rates (2400-56000)
  • Format filtering: Auto-detect and skip unsupported files in artpacks
Original prompt

Add TODO/curl.md with an idea of how to combine ansilust with curl in the smoothest possible syntax

Like
curl url/to/ansi.ans | ansilust

curl url/to/artpack.zip | ansilust --speed 9600 to download the artpack somewhere standard and then stream all the art in it to the screen. Can run it many times in a row and it'll default to reading from disk cache. Maybe the syntax needs to change. Needs some proper thinking and specification


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: subtleGradient <4117+subtleGradient@users.noreply.github.com>
Copilot AI changed the title [WIP] Add TODO/curl.md for ansilust and curl integration Add TODO/curl.md specification for stdin piping and artpack caching Nov 1, 2025
Copilot AI requested a review from subtleGradient November 1, 2025 21:28
Copy link
Member

@subtleGradient subtleGradient left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having the curl command on the left isn't going to let us control the cache

Instead, let's move all this to .specs/download/instructions.md following .specs/AGENTS.md rules

Remove all the code from the todo file. Let's follow the spec rules instead of the todo rules

Let's not conclude too soon. We want the simplest possible syntax for manually downloading art that I know I want and the best syntax for discovering new art that I don't know about yet.

Record these instructions and I'll follow up to refine it more later.

Remove the TODO file and change the TODO/README to link to our new spec

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants