frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

FWS – pip-installable embedded process supervisor with PTY/pipe/dtach back ends

2•mrsurge•10h ago
I’m releasing *Framework Shells* (`fws`): a standalone Python package for orchestrating long-running background processes (“shells”) with *PTY*, *pipes*, and *dtach* backends.

This is meant for environments where you don’t want to stand up a full supervisor stack (or don’t have one): quick multi-service prototypes, dev environments, constrained userlands, etc.

### What it does

* Spawn/manage shells with:

  * **PTY**: interactive terminal sessions (resize, input, stream)
  * **Pipes**: stdin/stdout/stderr streams (good for daemons/LSPs)
  * **dtach**: persistent sessions you can attach/detach to (survives manager restarts)
* *Runtime isolation* (the big feature): shells are namespaced by `~/.cache/framework_shells/runtimes/<repo_fingerprint>/<runtime_id>/...` so two clones of the same repo can run concurrently without cross-adoption or cross-control. * *Control surfaces*: CLI + optional FastAPI/WS UI for listing, logs, and lifecycle actions. * Optional *hooks* for host integration (external registries/telemetry).

### CLI quickstart

```bash # list shells fws list

# run a one-off shell (no spec) fws run --backend pty --label demo -- bash -l -i

# apply a YAML shellspec (recommended) fws up shells.yaml

# terminate shells fws down

# attach to a dtach-backed shell fws attach <shell_id>

# show managed shells + procfs descendants fws tree --depth 4 ```

### Shellspec example

```yaml version: "1" shells: worker: backend: proc cwd: ${ctx:PROJECT_ROOT} subgroups: ["worker", "project:${ctx:APP_ID}"] command: ["python", "-m", "your_module.worker", "--port", "${free_port}"] ```

### Isolation + security model (simple by default)

* `FRAMEWORK_SHELLS_SECRET` derives the `runtime_id` (namespace) and API tokens. * If the secret is set, mutating API endpoints require:

  * `Authorization: Bearer <token>` (or `X-Framework-Key`).
* If the secret is unset, auth is disabled (dev mode).

Hard limit: if two runtimes share the same OS user/UID, the OS may still allow signaling each other’s processes. The guarantee is: no cross-count/adopt/control *through the library’s control plane*.

### Real-world usage

I use this as the substrate of a full dev environment where “apps are shells” (terminals, IDE + LSP, agent/MCP, aria2 RPC, file explorer, llama.cpp runner, etc.). Repo:

```text https://github.com/mrsurge/termux-extensions-2 ```

### Feedback I want

* Does the secret/fingerprint/runtime isolation contract feel right? * Any obvious foot-guns in the default API/CLI? * Expectations vs systemd/supervisord/tmux/dtach: where would you use this?

github.com/mrsurge/framework-shells

pip install "framework-shells @ git+https://github.com/mrsurge/framework-shells@main"

```bash fws --help ```

You can now verify Google AI-generated videos in the Gemini app

https://blog.google/technology/ai/verify-google-ai-videos-gemini-app/
1•meetpateltech•1m ago•0 comments

GitHub Actions Down

2•1qaboutecs•1m ago•0 comments

Agent Skills is now an open standard

https://claude.com/blog/organization-skills-and-directory
1•adocomplete•4m ago•0 comments

Good if make prior after data instead of before

https://dynomight.substack.com/p/prior
1•crescit_eundo•4m ago•0 comments

The View from Inside the AI Bubble

https://www.theatlantic.com/technology/2025/12/neurips-ai-bubble-agi/685250/
1•CharlesW•5m ago•0 comments

Ruby Weekly #780: What's New in Ruby 4.0

https://rubyweekly.com/issues/780
1•brandrick•6m ago•0 comments

Show HN: A better interface for base model LLMs

https://github.com/transkatgirl/Tapestry-Loom
2•transkatgirl•8m ago•1 comments

Show HN: Peachka – Protecting Videos from Stealing

https://peachka.net/
1•superdario•9m ago•0 comments

The Simple Essence of Monomorphization (Oopsla 2025) [video]

https://www.youtube.com/watch?v=xqoTzQ9b9S0
1•matt_d•10m ago•0 comments

Show HN: Git rewind – your Git year in review

https://gitrewind.dev/
1•thijser•12m ago•0 comments

Updates on the Weir Language

https://elijahpotter.dev/articles/updates-on-the-weir-language
1•chilipepperhott•12m ago•0 comments

We Found the Craziest Wave on Earth [video]

https://www.youtube.com/watch?v=UnnkjzxlNIw
2•blindriver•12m ago•0 comments

Paper2Video: Automatic Video Generation from Scientific Papers

https://showlab.github.io/Paper2Video/
1•bilsbie•12m ago•0 comments

GitHub – Showlab/Paper2Video: Automatic Video Generation from Scientific Papers

https://github.com/showlab/Paper2Video
1•bilsbie•13m ago•0 comments

China may have reverse engineered EUV lithography tool in covert lab

https://www.tomshardware.com/tech-industry/semiconductors/china-may-have-reverse-engineered-euv-l...
1•xnhbx•14m ago•0 comments

Vivaldi Browser: Our roadmap for 2026

https://bsky.app/profile/vivaldi.com/post/3ma3whfp6622d
2•jsheard•14m ago•0 comments

Show HN: A small browser extension to turn selected text into reminders

https://github.com/kshk123/create_reminders
1•kshk123•15m ago•0 comments

Ruby-TI: Static type checking for MRuby. No annotations required

https://github.com/engneer-hamachan/ruby-ti
1•ksec•15m ago•0 comments

The Resistors Were Teenage Hackers and Computer Pioneers

https://spectrum.ieee.org/teenage-hackers
1•rbanffy•16m ago•0 comments

RSC Explorer

https://overreacted.io/introducing-rsc-explorer/
3•danabramov•18m ago•0 comments

Show HN: I built a free to use logo generator using icons and colors

https://smollaunch.com/tools/ai-logo-generator
6•teemingdev•18m ago•0 comments

Detecting goroutine leaks in modern Go

https://antonz.org/detecting-goroutine-leaks/
1•bmitch3020•19m ago•0 comments

Show HN: Toad. A unified terminal UI for coding agents

https://github.com/batrachianai/toad
2•willm•19m ago•0 comments

Streamlit apps commonly exposed to internet and missing auth

https://www.upguard.com/breaches/streamlit-the-tip-of-the-shadow-ai-iceberg
1•pollockgf•20m ago•0 comments

No one is reading your fucking slides

https://ninjasandrobots.com/no-one-is-reading-your-fucking-slides
3•nate•20m ago•0 comments

Precision Time for All – Broadcast Version – NIST

https://www.nist.gov/nist-work/precision-time-all-broadcast-version
1•rbanffy•21m ago•0 comments

Investigating a Deadlock in Visual Studio

https://minidump.net/investigating-a-deadlock-in-visual-studio/
1•sebazzz•23m ago•0 comments

Show HN: Paper2Any – Open tool to generate editable PPTs from research papers

https://github.com/OpenDCAI/DataFlow-Agent
1•Mey0320•24m ago•0 comments

2025's Biggest Data Center Construction Stories: A Year in Review

https://www.datacenterknowledge.com/data-center-construction/2025-s-biggest-data-center-construct...
1•WaitWaitWha•24m ago•0 comments

Complying with Japan's Mobile Software Competition Act

https://blog.google/around-the-globe/google-asia/complying-with-mobile-software-competition-act/
1•ChrisArchitect•25m ago•1 comments