Skip to content

feat: agent-native StreamNet CLI foundation + v0.1 vertical slice#1

Merged
aedneth merged 2 commits into
mainfrom
feat/streamnet-foundation
Jun 3, 2026
Merged

feat: agent-native StreamNet CLI foundation + v0.1 vertical slice#1
aedneth merged 2 commits into
mainfrom
feat/streamnet-foundation

Conversation

@aedneth
Copy link
Copy Markdown
Owner

@aedneth aedneth commented Jun 2, 2026

Summary

Foundation + v0.1 vertical slice for streamnet-cli, the agent-native torrent→VLC streaming tool. A single command registry (src/registry/) is the source of truth that drives the Commander CLI and the machine-readable manifest from one declaration, so the human and agent surfaces cannot drift.

What's included

Core (v0.1 vertical slice)

  • Multi-indexer search (torrents-csv, YTS) with parallel fan-out + infohash de-duplication
  • MKV-first torrent health ranking and title quality parser
  • WebTorrent streaming engine (lazy/optional dependency) + best-file selection
  • Native VLC detection that rejects Flatpak/Snap, plus spawn + optional HTTP IPC
  • Cross-OS setup installer (apt/dnf/pacman/zypper, brew, winget/choco) and doctor
  • Commands: search, stream, play, setup, doctor, config, manifest

Agent-native layer (acceptance criterion, every command)

  • Global --json with stable, versioned envelopes (exactly one line on stdout)
  • Deterministic POSIX exit codes; diagnostics/progress on stderr
  • Non-interactive auto-detection (no TTY / CI / --no-input); --yes auto-selects
  • stdin - composability; streamnet manifest for agent discovery

Config & repo standards

  • XDG-based config store (zod-validated, secret redaction)
  • AGPL-3.0 LICENSE (SPDX text) + LICENSE-COMMERCIAL; dual-license README
  • CONTRIBUTING, SECURITY, CODE_OF_CONDUCT, CHANGELOG, issue/PR templates
  • GitHub Actions: CI (3 OS × Node 20/22), CodeQL, release; Dependabot

Verification

  • lint, typecheck, build, prettier --check all pass
  • 38 tests pass, including agent-mode subprocess contract tests (single JSON envelope, exit codes, no TTY)

Notes

  • docs/planning/ is untracked (kept local) and gitignored per the public-flip plan.
  • MCP server (streamnet mcp) and subtitles are stubbed for v0.4 / v0.3 per the roadmap.

https://claude.ai/code/session_011i1KgH6K9LWjiy7xncGGap

claude and others added 2 commits May 31, 2026 22:23
…slice

Single command registry drives the Commander CLI and the machine-readable
manifest from one declaration. Includes multi-indexer search (torrents-csv,
YTS) with fan-out + dedupe, MKV-first health ranking, WebTorrent streaming
engine, native VLC detection (rejects Flatpak/Snap) + spawn, cross-OS setup
and doctor, and commands search/stream/play/setup/doctor/config/manifest.

Agent-native: global --json with stable envelopes, deterministic POSIX exit
codes, non-interactive auto-detection, --yes auto-select, manifest discovery.

Config under XDG paths (zod-validated, secret redaction). AGPL-3.0 LICENSE
(SPDX) + LICENSE-COMMERCIAL, dual-license README, full repo-standard files,
GitHub Actions CI/CodeQL/release. 38 tests incl. agent-mode subprocess.

Strips docs/planning from tracking (kept local, gitignored).

https://claude.ai/code/session_011i1KgH6K9LWjiy7xncGGap
…e repo

manifest: wrap process.stdout.write in a callback-awaited promise so the OS
pipe buffer is guaranteed flushed before process.exit() is called. On macOS
with Node 20 the pipe flush races the exit when writing large JSON, causing
'Unexpected end of JSON input' in the subprocess test.

codeql: add `if: github.event.repository.private == false` guard — CodeQL
requires GitHub Advanced Security which is not available for private repos on
the free plan. Keeps the workflow in place for when the repo goes public.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@aedneth aedneth merged commit 1cf7300 into main Jun 3, 2026
7 checks passed
@aedneth aedneth deleted the feat/streamnet-foundation branch June 3, 2026 00:32
@aedneth aedneth restored the feat/streamnet-foundation branch June 4, 2026 09:53
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