Skip to content

Make CLI-only distribution the supported path - #2

Merged
moinulmoin merged 3 commits into
mainfrom
agent/cli-only-distribution
Jul 23, 2026
Merged

Make CLI-only distribution the supported path#2
moinulmoin merged 3 commits into
mainfrom
agent/cli-only-distribution

Conversation

@moinulmoin

@moinulmoin moinulmoin commented Jul 23, 2026

Copy link
Copy Markdown
Owner

What changed

  • make the Python CLI on PyPI the only supported Threadlens distribution
  • remove PyInstaller, native release archives, npm shims, and platform packages
  • keep Raycast as a thin UI over an installed threadlens command
  • document the bundled SKILL.md and CLI-first installation clearly
  • rewrite the main README around the user journey, supported sources, privacy, and integrations
  • replace Raycast metadata screenshots and update vulnerable transitive dependencies
  • prevent custom database/config paths from changing permissions on an existing parent directory
  • prepare version 1.3.0 and remove stale V0 language across public documentation
  • document migration from the discontinued npm/native builds

Why

Unsigned native executables create platform trust, signing, notarization, and maintenance costs that do not fit Threadlens. A stdlib-only Python CLI installed with uv or pipx keeps the product cross-platform without shipping opaque binaries. It also preserves the intended architecture: search lives in the CLI, while Raycast and agent skills remain thin clients.

The storage permission change closes a separate safety issue found during the documentation audit: Threadlens previously tightened permissions on any existing parent directory supplied through a custom path. It now applies private directory permissions only to directories it creates, while keeping the database/config file private.

User impact

  • install with uv tool install threadlens or pipx install threadlens
  • existing indexes remain compatible and rebuildable
  • Raycast requires the CLI on PATH or an explicit command preference
  • native/npm installation paths are no longer published or documented

Validation

  • python3 -B -m py_compile threadlens/*.py
  • python3 -B -m unittest discover -s tests — 134 tests passed
  • TypeScript check passed
  • Raycast lint and build passed
  • npm audit reported 0 vulnerabilities
  • doctor reported ready with all adapters healthy
  • local eval: Recall@5 98%, 0 negative failures
  • local benchmark: p95 156.9 ms under the 250 ms gate
  • built and installed the 1.3.0 sdist and wheel
  • verified both artifacts include SKILL.md and no npm/PyInstaller files

…bution

# Conflicts:
#	README.md
#	npm/README.md
#	npm/bin/resolve.js
#	npm/package.json
#	npm/platforms/threadlens-darwin-arm64/package.json
#	npm/platforms/threadlens-linux-x64-gnu/package.json
@moinulmoin
moinulmoin marked this pull request as ready for review July 23, 2026 21:27
@moinulmoin
moinulmoin merged commit 8bc0970 into main Jul 23, 2026
2 checks passed
@moinulmoin
moinulmoin deleted the agent/cli-only-distribution branch July 23, 2026 21:27
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.

1 participant