Top
Best
New

Posted by gdudeman 20 hours ago

Building a Mac app with Claude code(www.indragie.com)
144 points | 103 commentspage 2
flenserboy 18 hours ago|
Has anyone tried this for command line applications? This could be a great way to develop some very specific/corner-case tools.
simonw 17 hours ago|
I write CLI tools with LLMs all the time. I even have a custom Claude Project that teaches the LLM to use inline script dependencies with uv so I can "uv run script.py" without first having to install anything else: https://simonwillison.net/2024/Dec/19/one-shot-python-tools/

I have a collection of tools I've built in this way here: https://tools.simonwillison.net/python/

kiitos 16 hours ago|||
A CLI tool is a native binary that I can run directly via e.g. `/path/to/binary`. If I need to use `uv run ...` to execute something, then that thing isn't really a CLI tool, it's an interpreted script, which relies on an interpreter that needs to be available as a pre-requisite, and all of the numerous complications that follow from that...
simonw 15 hours ago||
Use this as your shebang line:

  #!/usr/bin/env -S uv run --script
https://treyhunner.com/2024/12/lazy-self-installing-python-s...

I don't think requiring all CLI tools to be "native binaries" makes sense. Plenty of popular CLI tools are not compiled binaries. The Python and Node.js ecosystems run on those.

flenserboy 17 hours ago|||
Very cool! Thank you.
ModernMech 18 hours ago||
I've been doing this recently; I don't really know swift, and I wanted to see how well I could use almost 100% LLM to do my coding. For the most part, I have been able to get a pretty substantial app going, but once it gets to a certain size, things start to become hairy.

For instance, I am adding bluetooth capabilities to my app, and the bluetooth manager can be quite large, to the point where the LLM context window starts to become an issue.

When it gets to that point, the LLM can start making suggestions that don't make sense; it's starts forgetting what you had already done, it can start making architectural suggestions that contradict what you had been doing before. So if you follow them, you end up in this weird state mired in conflicting decisions. Almost like design by committee without the committee.

It's important to recognize this when it's happening rather than just blindly following what it suggests, so some expertise at engineering is still necessary even though the LLM can write okay Swift code.

amelius 18 hours ago|
Maybe you should ask the LLM to write concise documentation for the functions that it generates (or ask it afterwards). Then use that documentation in the context-window instead of the actual, more lengthy code. Compartmentalize your code into modules/functions with a clearly defined boundary (api).
ninetyninenine 16 hours ago|
I'll just have Claude read the tutorial to learn.