Comment by Chu4eeno

2 days ago

You really should either just write it manually, or at least clean it up, 5kLOC of bash for POSTing and reading/writing files is a bit overkill (the code is extremely repetitive, verbose and just hard to follow).

Yes, the code is big and bulky, i know. But i am a single person, not a team. I write simple and clear for me, because i need to mantain it. Only Bash, zero dependencies, i like this.

thank you for your comment!

  • > I write

    You mean the LLM writes the code based on your instructions (that's fine, I guess, but 5KLOC is huge for this kind of script).

    • Architecture and structure are my decisions, LLM are instruments, simple executors, today i think are commonly used. Write code with LLM is not "push a button", it's a technical way of work, needs study and practice. 5k lines are months of work, debug, refactor, testing. 5k lines are the result of a long (and difficult) work, but LLM helps your productivity. The most important thing, for the humans, are the architectural decisions, and understanding how your current LLM reasoning and behavior. I decide architecture and structure; LLM only writes code (that need debug and testing), LLM are executors, not automatic. LLM are only software, and are new instruments to learn. Important thing: I use only free plan, of LLMs that have a real free plan.

      2 replies →

  • Why are you posting this if you know it is of poor quality then?

    It's certainly not because you are proud of yourself, it has been generated.

    So I genuinely wonder why?

    • I don't think it is of poor quality. I post this because I wish it is good for others. It's not auto generated, I made this.

I agree. What is with the random precore/core stuff anyways. But on the flip side, this thing seems to be doing a lot. I chugged through a couple thousand lines and there seems to be some amount of context management, I saw mentions of a history file, attachments, etc.

  • The macro sections/sections/sub-sections in the code are not random, I intentionally decide that. In brief: PRECORE_BOOT - for initialization PRECORE_RUN - persistency, history, cache PROVIDER - embedded provider (groq) CORE_SETUP - global runtime configuration, parsing parameters, LLM whitelist, user configuration CORE_PROVIDER - providers validation, prompt assembly, chat sessions, models tuning

    The macro sections has two functions: 1, for me, to navigate the code 2, for LLMs, to understand my structure

    The project does many things, so i need a clear sections structure to separate responsibilities.

    You can see more information on the documentation, but the architectural spec is only in Italian.