kovek 29 minutes ago

With cursor you can hit Cmd+K in the terminal and give a prompt for the agent to convert to a command in the terminal. Would be good if it could allow to do the same to generate SQL queries based on the databases schemas available. Then it would be a generic solution that would cover this use case.

bravura 10 hours ago

The text-based software that would eat work management is one that embraces the incumbents rather than avoid them.

I want a bidirectional SaaS <=> YAML/JSON adapter. So that I can push and pull our CRM (and other SaaS utilities like project management) into a common (schematized) YAML format.

The YAML then can be analyzed and modified using LLMs and/or stored in git.

And then use the bidirectional sync to reconcile conflicts and push.

So I can do work processes on the console, and still collaborate with people who want the native web UI.

  • danielrothmann 9 hours ago

    Agreed, this is on my mind as well.

    Thinking of Terraform, you have data blocks that can grab data from an external source. Still trying to grok what would be a convenient way of doing something like this - whether that gets generated to DSL, or if data pulled in dynamically as you build the org graph...

    Having your plain-text workspace as a unified structural source where you pull in data from external systems would be potentially powerful.

    • montague27 3 hours ago

      Hi there, I've made my own text-based todo list with compatible web view which is kind of similar to what you did. (though far from completion)

      There's a sync engine behind it so the UX is extremely responsive.

      Link: https://mglogi.com/portfolio

    • rirze 6 hours ago

      You'll unfortunately have to agree on some sort of state representation for each source and then delve into those APIs to extract that information

  • kstrauser 3 hours ago

    Huh. Could those be git submodules? Like you’d have all your personal state in foo/ and then clone the work state into foo/work/ .

  • swoorup 9 hours ago

    I would like the native web UI when I am being too lazy, and terminal when I am in the zone..

0xEF 11 hours ago

This is interesting, very similar to a project I am working on, which is a cli asset manager for a small repair shop. Basically, mine keeps track of service tickets, customers and inventory while being query-able to help identify trends in problem products or recall records for warranty disputes, etc. It's just a silly little project I started in my spare time because I got fed up with having to open up three pieces of software with clunky UIs and frequent crashes to accomplish what should be fairly simple and straight-forward tracking and analysis. My biggest hurdle was getting it to export to a nice looking PDF that could be emailed or printed later.

While mine is functional, yours looks A LOT more refined, so I think I will play around with it and see if I can't adapt it to my needs.

I try to work in the terminal as much as I can since that's where I'm most comfortable, but when it comes to business software like CRMs, HRMs or ERPs, especially geared toward smaller shops, the selection for terminal-based options is severely lacking.

  • Thom2000 an hour ago

    > My biggest hurdle was getting it to export to a nice looking PDF that could be emailed or printed later.

    If you can export to structured data such as JSON, I guess Typst would be a perfect fit for that job.

  • SuperHeavy256 9 hours ago

    Can you share the github link to your cli asset manager project?

itsnowandnever 4 hours ago

things like this are so much fun. I mess around with projects like this too. I have a little "status" app that that's a web UI embedded into a Go binary that shows my current WIP and it updates my slack status with what my WIP is. so outside of standup everyone just knows what I'm up to

I love little CLI tools for managing productivity

mayowaxcvi 10 hours ago

Spent ages building my own work management system only to realise I was just taking the scenic route to eMacs.

  • jaaron 9 hours ago

    I was thinking the same thing: why is everyone reinventing emacs?

    gnu and emacs already have a long history of cli and text friendly solutions that LLM dev agents can easily use and are trained on.

    Or for structured data, just use a database. Dev agents can work with SQL just fine.

    • fellowniusmonk 3 hours ago

      The problem is that they aren't reinventing emacs.

      The first person that makes emacs for the hoi polloi will suck up all the emacs people as well just based on interop frustrations.

      I still can't believe that after seeing how slack just released irc for grandma's and pointy haired bosses that no one has done the same for a sensible defaults for normies emacs.

  • 4b11b4 5 hours ago

    So glad emacs finally found me, I can't wait until I can look back 10 years from now

Protostome 11 hours ago

Getting people to use the terminal to do things instead of the bloatware produced by Google/Microsoft tools is almost impossible...

I live in the terminal, but most people in my company, including developers rather stay away from it

  • quietbritishjim 10 hours ago

    To state the obvious (sorry):

    (1) Command lines lack the discoverability element of GUIs (and TUIs), where the available choices are typically laid out in front of you. Just look at the command "firm -c list contact" in the screenshot in the linked readme - no doubt it's sensible, but you wouldn't just type it in out of nowhere. You could argue that good docs fix this, but they'll never be a substitute. (Silly analogy: imagine if your toaster had buttons just labelled "1", "2", "3" and you had to refer to the manual for which meant toast, defrost, extra browning.)

    (2) Command lines lack the visual persistence of the data you're operating on (like a list of files in a directory, or project/people data like in this program). If you rename a file and you then re-run ls and now everything appears in a slightly different place on the screen (because the previous listing had shifted up when you ran "mv") it's visually jarring in a way that just operating directly on the data isn't. Not-silly analogy: it's like how no-one today would dream of operating on a text file using a pure line editor like ed. (Even command-based editors like vim persist the file data in the main visual area.)

    Command lines are much better than GUIs/TUIs for some applications, for example when called from a script, or where you might need to compose a complex command and then tweak and re-run it (in fairness, that might apply to OP's project). But I think techies sometimes get a bit carried away. GUIs are sometimes a legitimately better choice.

    • dannyfritz07 4 hours ago

      The approach I like the most is to first design a CLI that has the functionality you need. Then move that functionality to a lib and have the CLI now be a frontend for the lib. Then make a GUI frontend too.

      Allows for a GUI for tasks that need that better context or hand holding. But then the CLI is there when there is a workflow the GUI doesn't support comes up. Bonus of scripting being possible with the CLI too.

      Challenges this approach has is that you have to have a test suite that exercises both workflows or due diligence to make sure they both work as development continues.

      Also not all programs can be done acceptably with a CLI. Real time 3d games are an easy example of a GUI only task.

    • 0xEF 9 hours ago

      I don't disagree with you at all, but my biggest hangup with GUI-based software is twofold:

      1. It tends to be bloated, with developers slapping framework upon framework, creating a mess of background wiring that is prone to a dictionary's worth of issues that will either frustrate the user or confound the person maintaining it.

      2. UX Designers approach their jobs incorrectly; they assume they are smarter than the user. Interestingly, this might actually be true on paper in most cases, but the practical reality is that the user needs to do things the user's way, not the way the the developer wants them to.

      If we could find ways to smooth those two glaring issues, I posit that we'd see a lot of problems with productivity and workflow melt away. Caveat; I'm not a software developer, so I'm sure anyone who is thinks I'm speaking out of school right now. Fact is, I've worked in a few different industries over 40 years, and one of the biggest thorns always seems to boil down to the software not being quite right for the team/application, so workarounds have to be invented, adding layers of complexity on what is already a decidedly fragile system.

      • philipwhiuk 4 hours ago

        > UX Designers approach their jobs incorrectly; they assume they are smarter than the user. Interestingly, this might actually be true on paper in most cases, but the practical reality is that the user needs to do things the user's way, not the way the the developer wants them to.

        This is just as true for CLIs.

      • skrtskrt 3 hours ago

        I think this blunkiness is in part because these things are often created and designed exclusively by frontend and full stack developers. IMO systems like these need strong backend developer influence, with highly scalable data models and and as much work as possible pushed server-side.

        In short, the system should be designed by people that despise the general state frontend development. It should still look good, I love a modern clean frontend (like Docmost for example), but not at the expense of snappiness and scalability.

  • brettermeier 5 hours ago

    The main reason might be that terminals are ugly and messy, you can't find shit, everything melts together. Might be nice for power users, but those aren't so many I would guess.

    • fellowniusmonk 3 hours ago

      I live in the terminal. I've been using the terminal since before guis were an appreciable option.

      People who lionize the terminal are silly, it's objectively bad and the fact we use it at all is just the inertia of TTY.

      Trying to put GUIs in terminal, all this stuff, it's a hack, a sign of failure to make progress.

      In an alternate universe Emacs wouldn't be culturally anti-human and we'd have a data first gui instead of app siloing. Some Emacs custom setups are the fucking future, context switching, everything is so perfect, but because the interop is so bad you can't use it in your day job.

      But most OSS OS devs have spent all their time focused on the system part and not the operating part.

      Human factors and human interfaces are still mostly ignored, and that's just from a sole user perspective, most developers of UI don't treat the networked/relational aspect as a first class UX issue for an OS.

      And that's partly a failure of imagination, a failure of loving people as much as tech and also because distributed collaboration is fucking hard and most people just rewalk existing paths.

      Maybe LORO is the only truly interesting open source project right now, but Ai can't write those algorithms so even their implementation is under explored.

  • cantor_S_drug 7 hours ago

    Many people forget the main reason why Windows, Mobile, Webapps succeeded is because of convenience. The more easy to use the more better. Convenience is also the reason why Meta Glasses will be successful.

  • sunshine-o 11 hours ago

    Yes I agree.

    My guess is that the console is a much better and natural UI because it goes in one direction and is less confusing and productive for humans.

    In the end we seems to move back to it through the chatbot paradigm, because it is in the end a console...

    • danielrothmann 11 hours ago

      It's an interesting trend. With the push for chatbot-based interactions, CLIs and plain text representations are making a bit of a comeback, since LLMs interface with those more easily than UIs.

      • Propelloni 7 hours ago

        We saw this in the early days of chat tools like Slack, too. /remind anybody? Today you, at least, get a floating help text if not a mini-GUI within the channel once you begin to invoke.

        So I'd wager we will see the same with chatbot interfaces. I furthermore predict that we will get taylor-made AI applications with a GUI that triggers specific "prompts" on unspecified datasets. "Prompt engineering" will become just another skill of professionals that have to use general purpose tools to built specific purpose tools... again.

aitchnyu 9 hours ago

Looking at the points you made and examples, I would cobble a similar tool with Django, writing only CLI commands with no HTTP endpoints. And most LLMs are already fluent in Django.

- Schemas and relationships live in models.py, actual data is persisted in Sqlite - I can dump to JSON or XML with Django utils for LLMs - Query engine can simplify reuse Django syntax, like `Firm.objects.get(owner_name__like="john", date__gt=2015)`, fetch related names, aggregate subqueries - Format as tables

kkukshtel 4 hours ago

This looks very similar to a FoSS version of Tana: https://tana.inc/

Which is well timed because I've been increasingly leaning more into Tana but also being like "it would really suck if this tool goes away". Having something that has the same ergonomics of Tana but is more open is really interesting.

virajk_31 7 hours ago

CLI is cool but this won't work in real life, focus your energy building something else.

  • runlaszlorun 6 hours ago

    Please tell me you're a troll and this isn't what you actually think a useful comment looks like.

    • kstrauser 3 hours ago

      Right? On behalf of everyone working on projects to scratch an itch that won’t go away: f- off and let us hack on what we wanna hack on. No one asked for or needs permission.

    • wmeredith 3 hours ago

      Thanks you! I rarely downvote on HN, but this earned one.

A4ET8a8uTh0_v2 6 hours ago

While I do not think big corps would go for it, I believe you have something there that could:

1. Appeal to some of the crowd here 2. Potentially run in the background as meta layer for llm ( as crazy as that sounds, the annoying reality is that it is happening already, but in the most annoying way possible 'worst of all worlds' version )

ithkuil 7 hours ago

I'm curious to see if the advent of LLM assistants will result in a resurgence of "headless" systems

cyanydeez 40 minutes ago

I bet there's someone or some business with a curly brace in their name.

pjz 5 hours ago

This seems like it could be an rdf query tool, though offhand I don't know the ref to the right rdf schema.

matthewcanty 11 hours ago

I’d be interested in defining my business using a DSL but then ultimately I’d want that to be translated into a UI.

I’d love to simply map all the relationships between stock, assets, tools like invoicing, APIs all in a place like this.

But I have to agree I think CLI alone would result in it being usable by only me.

EDIT: just wanted to add I’m interested in where this project goes.

  • danielrothmann 11 hours ago

    I think that's fair. I'm personally happy with a text editor + CLI, but can acknowledge that is not enough for broader adoption.

    The project is structured as libraries such that you could build an editor separately, but it's not something that has taken priority for me (as the only user, so far).

baby-yoda 8 hours ago

The simplicity of text files is appealing - did you consider using a database at all or was it pure text from the start?

Thinking about an LLM use case, not needing a query language should remove translation risk I'd assume?

n0um3n4 6 hours ago

I forking love text-based apps, congratz!

N_Lens 11 hours ago

Looks ambitious but previous attempts at “Ops as Code” haven’t been promising.

  • danielrothmann 11 hours ago

    Healthy skepticism. I think firm differs from ops as code in the sense that it focuses on the structural aspects and representing the people-ops side in a way that machines can interact with too.

    To be clear, I'm trialing this out in my own small business. Whether it's ergonomic enough to add value and whether it's scalable, I don't know yet. So far, so good, though.

    • ipnon 10 hours ago

      It's good to experiment, and your boldness should be commended.

ipnon 10 hours ago

The age of LLMs is shifting the predominant modality of data towards plaintext. For people like us, it's easier to grok, and it allows all of the poweruser use cases. I think this is a great idea.

DocTomoe 10 hours ago

I love the idea. More power to text-based tools, more power to the CLI.

But ... why invent a new file format? Why not just make in JSON, so it is easier to integrate in other toolchains (e.g. having a python script add customers based on external APIs without having to write your own output generator)?

  • sixtyj 10 hours ago

    I’ve tried JSON, YAML, and TOML for storing data. Last time, I ended up with an 8,000-line JSON file. And I had to write an editor for it, because text-based editing caused more syntax errors than I expected (what a surprise :).

    But each of formats seemed nice at first.

    So I understand that sometimes it’s easier to invent a new format. But compatibility with other formats can definitely be a problem lately.

    My question is: how does the proposed system handle multiple editors working on the same text file?