Ahhhh AI Vibe coding, the new and latest also sharpest way to code rapidly, a weeks ago i knew nothing about coding, well i could “read” code and understand more or less see “pattern” but that was it. Last time i touched coding was C++ in high-school some 25+year ago. And now i feel i’ved learned enough to share the wisdom accrued.
-
Get cursor up and running, its easy, you install it, right click a folder to work and open with cursor. You set! Easy right?
-
GitHub, get yourself a repo going as second step why? Because agents will eventually screw you over so fast you wont have time to realise half your codebase disappeared by the time you made yourself a code of coffee, cup of coffwwweeeeeee—ahhhh ■■■■… well too late, hope you had it setup!
-
- You can set your repo to private this way well, you can eff things up and no one will laugh at you! nor will be able to help you but good news!! This is what this community is for! Helpin you find answer and point out you typoh!! (But so far they are lacking in that regard, ■■ well!)
-
Gpt-Pro, its cheap and is quite powerful if you use it the right way. But what is the right way? Brainstorming ideas, code snippets, pro will allow you to create folders where you can upload files for gpt to access, i think now its free? or is it something else? Anyway get pro, there are other reason too.
-
Link up your folder with GitHub, open your cursor and ask you model of choice to sync, you will need to provide a link to your repo and basically you have the minimum to play.
I chose to use python because it is for my point of view a quite simple language, old like time itself, has a lot of support, lot of tools, very easy to setup a good set of tools up and running in no time. I also took python because chat gpt at least the pro has access to a python complier and can run and debug python file for you, you can also brainstorm idea with him, how to build x-y-z, you can ask him previews in the form of image, this way you save a LOT LOT LOT of those precious paid token!!! Don’t brainstorm directly in cursor or your bill will explode.
Ahhhh paid model, the bane of your wallet, well, its easy, seek free option, what i mean is this, yes you look like a scrapper, cheapskate but the reason why I’m saying that is not only does it force you to seek other ways to work, it build up your critical thinking, force you to work with gpt, search, find answer, and mostly EXPLORE other way to work wich might be a better fit for you but you would of never found out if you paid for premium model.
My first application was a financial application for my Dnd 3.5 edition to manage party loot, paying npc, crew, services etc etc. For you? Hell do what you want mate, its your app!
-
NEVER EVER let your Agent create a script that can edit file, set it in your cursor rules, repeat it in every prompt where you think he might want to “speed things” along, speaking off, in the same sense, make sure to repeat to NOT simplify test of goals to succeed on a test or pass a milestone because he will flip that test to a “if 1=1 run success.py” faster than you can catch him do it! Yeah i saw him edit tests to do just that by using fake data (called mocking in python) to pass a test instead of properly testing it, wich bring us to second rule.
-
Setup testing RIGHT AWAY, pytest, mypy, ruff for linting and ask the agent to pre-pare a precommit pipeline(workflow where it is set in stone in what order things happen to achieve a set goal). Then everytime a feature is added, run the pre-commit, fix issues, test your feature, refine if needed and push right away to github, you can ask your model to do it, cursor has built-in feature for all that. After a few feature has been pushed task an agent to analyse your testing setup and report inneficacies im sorry what? inefecalacie, for god sake inefficacies, here we go!!! You will often find your first agent did not properly create tests or used too much fake data and then you can refine these test and run them again, you want good code not just working code, but don’t overdo it, last thing you want is overengineering, once in a while to make sure the test evolve with your application, not too much to have over bloated test, testing itself to test a test supposed to test a feature before testing it. See what i mean? It WILL evolve to that if you are not careful and don’t audit the work using another agent. Think of a senior programmer taking a look at your rookie code, its legal you wont have trouble with lawye… wait not you? Uh.. Anyway it bring us to third rule
-
You are not a programmer, you are a project manager, the agent is your employee, DRILL THAT INTO YOUR HEAD right about…. NOW. What i mean is this, in real life employee don’t like their manager to tell them how to do things, once in a while its good, too much and your agent will start hallucinating and work badly, forget basic things like a real human!! Then you have to fire it, get a new one up to speed with the context, deal with lawye… am i the only?? Wait not you? For realsies? God dangit. Wich bring us to…
-
Sack them often, each agent is good for 1 feature or part of a bigger feature, the longer they work the more chance they will start doing stupid thing like Is this the only thing the AI software does know correct Keeping the agent after a feature for very small edits, for anything else bigger, sack them, get a fresh new agent and go to…
-
Give them goal (review past agent work, do minor re-factoring, implement a feature or part of feature etc ) and ask them for how they will achieve their goal. Then not only will you see HOW they will work right away but they will also follow that plan, you can refine the plan with him for small things, if the plan need to change dramatically this is where gpt come in. Bring the plan to him, bring the related file into a project with gpt, brainstorm with gpt, refine a big-kickass-plan, make sure its a multi-step simple plan to follow with detail and source, try to define most of the work with gpt no vague goal where it doesn’t need to be, you paid for the service, you can ask question about the code, why x-z, learn from the almighty mega-human-race-knowledge pool/brain gpt is becoming. Once your plan is ready for a simpleton to follow, get back to cursor using your free model, paste the plan and watch him work for you.
-
Prompt-engineering, problem solving, critical thinking, coffweeee, and even minor psychology training are skills developed with experimentations, vibe coding is newish, there is a lot to explore, explorer of the old were exploring forest, mapping the unknown, we? We explore the limitation of current day agents, harness their abilities while trying to avoid their shortcoming and share our wisdom.
Rinse repeat until your application is complete!
Build a prompt libraries with placeholder such as.
Arg1: widget_factory.py
Arg2: 95%
Arg3: Main (or the name of branch)Please run the pre-commit
Make sure arg1 has a coverage of arg2
If arg1 has no error and coverage is over arg2
push to GitHub arg3
Arg1: Name of file
Arg2: % of coverage wanted, i like 90-95 so that it catch most of the rookies error, wrong names, wrong format, etc.Your work will be to execute all task in Arg1.
-Analyse task scope
-Analyse the codebase
-What do we have
-What do is needed to execute the task
-How to accomplish
-Write temporaryTODO fileExecute the task
After the task is complete
-Validate against the spirit of the task
-Update your temporary todo file
-Update related test and increase coverage to arg2
-Cleanup
-UPDATE THE PLAN/TODO arg1 by marking the completed task (with a short summary) ←- () optional, sometime i want a short summary other time i just don’t with the short summary, asking for a short summary often force him to update the file
Each prompt should be its own file so you can just drag drop and say arg1: xxx arg2: yyy and he will do the job, even faster than copy pasting it!! ←–Edit 2: Forget to specify each prompt has its own file.
The reason why i prefer using todo files instead of internal todo tools, first, you can easily edit it, second, if you search cursor market place to test new agent ( do so!! lots of them often have free model you can use for a limited time, it expands your horizon, force you to adapt and build your critical thinking, problem solving )
Other tidbit, build yourself some libraries of function that are data agnostic, they can be called, given the data using argument, process the data in anyway and return it later. Depending on what you work, why you want to learn, you will often end up doing some work the same way so don’t be shy, me? I tend to like a particular UI style, so i built a bunch of libraries that can create widgets that work the way i want them to work and i just have to drag drop that in my project folder and I’m ready! A good mechanic is as good as his tool allow him to be, so build it, hell even make a private repo that host all your and simply download them with the agent-of-the-day and you wont even have to drag-drop it
Edit: Did some formating.