for assorted things

add detail

+22
README.md
··· 27 27 ./check-files-for-bad-links *.md 28 28 ``` 29 29 30 + Details: 31 + - uses [`httpx`](https://www.python-httpx.org/) to check links 32 + - uses [`anyio`](https://anyio.readthedocs.io/en/stable/) to run the checks concurrently 33 + - pass include globs to scan (e.g. `*.md`) 34 + - pass exclude globs to skip (e.g. `*.md`) 35 + - pass ignore-url prefixes to ignore (e.g. `http://localhost` or `https://localhost`) 36 + - pass concurrency to run the checks concurrently (default is 50) 37 + 38 + 30 39 ### `kill-processes` 31 40 32 41 AI-powered TUI for killing processes. ··· 37 46 ./kill-processes 38 47 ``` 39 48 49 + Details: 50 + - uses [`textual`](https://textual.textualize.io/) for the TUI 51 + - uses [`marvin`](https://github.com/prefecthq/marvin) (built on [`pydantic-ai`](https://github.com/pydantic/pydantic-ai)) to annotate processes 52 + 53 + 40 54 ### `update-lights` 41 55 42 56 Make some change to my phillips hue network of lights via agent + MCP server. ··· 47 61 ./update-lights -m "turn on sahara in the living room and nightlight in the kitchen" 48 62 ``` 49 63 64 + Details: 65 + - uses a [`marvin`](https://github.com/prefecthq/marvin) (built on [`pydantic-ai`](https://github.com/pydantic/pydantic-ai)) agent 66 + - the agent spins up a [`fastmcp`](https://github.com/jlowin/fastmcp) MCP server that talks to my [`phue`](https://github.com/studioimaginaire/phue) bridge 67 + - set `HUE_BRIDGE_IP` and `HUE_BRIDGE_USERNAME` in `.env` or otherwise in environment 68 + - uses `OPENAI_API_KEY` by default, but you can set `AI_MODEL` in `.env` or otherwise in environment to use a different model 69 + 70 + 50 71 ### `update-readme` 51 72 52 73 Update the README.md file with a list of all the scripts in the current directory. ··· 57 78 ./update-readme 58 79 ``` 59 80 81 +
+4
kill-processes
··· 11 11 ```bash 12 12 ./kill-processes 13 13 ``` 14 + 15 + Details: 16 + - uses [`textual`](https://textual.textualize.io/) for the TUI 17 + - uses [`marvin`](https://github.com/prefecthq/marvin) (built on [`pydantic-ai`](https://github.com/pydantic/pydantic-ai)) to annotate processes 14 18 """ 15 19 16 20 import os
+6
update-lights
··· 11 11 ```bash 12 12 ./update-lights -m "turn on sahara in the living room and nightlight in the kitchen" 13 13 ``` 14 + 15 + Details: 16 + - uses a [`marvin`](https://github.com/prefecthq/marvin) (built on [`pydantic-ai`](https://github.com/pydantic/pydantic-ai)) agent 17 + - the agent spins up a [`fastmcp`](https://github.com/jlowin/fastmcp) MCP server that talks to my [`phue`](https://github.com/studioimaginaire/phue) bridge 18 + - set `HUE_BRIDGE_IP` and `HUE_BRIDGE_USERNAME` in `.env` or otherwise in environment 19 + - uses `OPENAI_API_KEY` by default, but you can set `AI_MODEL` in `.env` or otherwise in environment to use a different model 14 20 """ 15 21 16 22 import marvin
+1 -3
update-readme
··· 62 62 scripts = get_scripts() 63 63 script_list = "\n\n## scripts\n\n" 64 64 65 - # Add directory 66 65 for script, _ in scripts: 67 66 script_list += f"- [`{script.name}`](#{script.name})\n" 68 67 script_list += "\n---\n\n" 69 68 70 - # Add detailed entries 71 69 for script, doc in scripts: 72 - script_list += f"### `{script.name}`\n\n{doc or 'no description'}\n\n" 70 + script_list += f"### `{script.name}`\n\n{doc or 'no description'}\n\n\n" 73 71 74 72 new_content = base_content + script_list 75 73