[{"data":1,"prerenderedAt":586},["ShallowReactive",2],{"project-39918500":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":46,"post_text":47,"what":48,"said":106,"maker_in_thread":245,"shape":258,"grid":261,"attempts":541,"same_week":548,"maker_shows":41,"maker_hidden":578,"reader_version":579,"card":580},"39918500","Plandex","an AI coding engine for complex tasks","title","Show HN: Plandex – an AI coding engine for complex tasks","https:\u002F\u002Fgithub.com\u002Fplandex-ai\u002Fplandex","github.com","danenania",1712157011,2024,304,111,201,3515,6,"legend","dev_tools","ai coding assistant","cli",[21,24,25,26,27],"terminal","llm code changes","openai api","code review","mixed",0.085,{"positive":31,"neutral":32,"mixed":33,"critical":34},16,25,1,12,54,{"design":37,"idea":40,"docs":42,"execution":44,"pricing":45},{"positive":38,"critical":39},3,2,{"positive":41,"critical":41},5,{"positive":33,"critical":43},0,{"positive":33,"critical":38},{"positive":43,"critical":39},[33,38,38,41,43,38,33,33,38,41,41,41,38,38,41,33,38,43,33,33,38,41,41,33,38,41,38,38,38,38,33,38,38,38,41,41,38,38,41,41],"Hey HN, I'm building Plandex (https:\u002F\u002Fplandex.ai), an open source, terminal-based AI coding engine for complex tasks.\n\nI built Plandex because I was tired of copying and pasting code back and forth between ChatGPT and my projects. It can complete tasks that span multiple files and require many steps. It uses the OpenAI API with your API key (support for other models, including Claude, Gemini, and open source models is on the roadmap). You can watch a 2 minute demo here: https:\u002F\u002Fplayer.vimeo.com\u002Fvideo\u002F926634577\n\nHere's a prompt I used to build the AWS infrastructure for Plandex Cloud (Plandex c",{"problem":49,"audience":55,"pricing":60,"motivation":71,"time_to_build":75,"stack":76,"openness":103,"stage":104,"team_size":105},{"value":50,"source":51,"evidence":52},"Copying code back and forth between ChatGPT and projects for multi-file, multi-step tasks","maker",[53],{"id":54},"post",{"value":56,"source":57,"evidence":58},"Developers working on large or complex coding tasks","inferred",[59],{"id":54},{"value":61,"source":62,"evidence":63},"Self-hosted free; Plandex Cloud paid plans around $10-20\u002Fmonth","commenter",[64,68],{"id":65,"by":66,"text":67},"39943692","usernamed7","Whats the deal with plandex cloud and $10\u002F$20-mo? The github repo README devolves into a cloud pitch halfway through. I thought this was a local binary talking to openAI? I…",{"id":69,"by":11,"text":70},"39943837","Hi, it’s open source and it also has a cloud option. You can either self-host or use cloud—it’s up to you. The CLI talks to the Plandex server and the server talks to OpenAI.",{"value":72,"source":51,"evidence":73},"Tired of copying and pasting code between ChatGPT and projects",[74],{"id":54},null,[77,88,93,99],{"value":78,"source":51,"evidence":79},"Go",[80,84,87],{"id":81,"by":82,"text":83},"39927629","FezzikTheGiant","Curious to know how you built this. Is it GPT-4 or a fine-tuned model. How much does it cost?",{"id":85,"by":11,"text":86},"39932844","It's written in Go. The models that it uses are configurable, but it mostly uses gpt-4-turbo by default currently. It calls the OpenAI API on your behalf with your own API key.…",{"id":54},{"value":89,"source":51,"evidence":90},"OpenAI API (gpt-4-turbo default)",[91,92],{"id":85,"by":11,"text":86},{"id":54},{"value":94,"source":51,"evidence":95},"Git (used underneath for version control)",[96],{"id":97,"by":11,"text":98},"39922550","Yes, it does use git underneath, with the idea of exposing a very simple subset of git functionality to the user. There's also some locking and transaction logic involved to…",{"value":100,"source":51,"evidence":101},"PostgreSQL",[102],{"id":97,"by":11,"text":98},"open_source","launched","unknown",{"praise":107,"objections":129,"requests":167,"questions":205,"alternatives":225},[108,123],{"value":109,"source":62,"evidence":110},"Polished and useful; the feedback loop and version control ideas stand out",[111,115,119],{"id":112,"by":113,"text":114},"39927670","liampulles","I appreciate in the copy here that you are not claiming plandex to be a super dev or some such nonsense. I really dislike the hype marketing in some other solutions.",{"id":116,"by":117,"text":118},"39921928","rglover","This is something I've been thinking a lot about (a way to set context for an LLM against my own code), thank you for putting this out. Looks really polished.",{"id":120,"by":121,"text":122},"39924658","_bry-guy","Wow, this is phenomenal! I can't wait to dig in. This is almost exactly the application I've been envisioning for my own workflow. I'm excited to contribute!",{"value":124,"source":51,"evidence":125},"Single binary install is easier than aider's Python setup",[126],{"id":127,"by":11,"text":128},"39924794","Thanks! Sure, I posted this comment in a Reddit thread a couple days ago to a user who asked the same question (and I added one additional point): First I should say that it’s…",[130,145,153,160],{"value":131,"source":62,"evidence":132},"Examples shown are too trivial for complex work",[133,137,141],{"id":134,"by":135,"text":136},"39922567","ldelossa","Show me one of these things do something more complex then a front end intern project.",{"id":138,"by":139,"text":140},"39923510","chmod2","It's not something I would consider a complex job. A simple prompt to chatgpt could even produce a working CDK template.",{"id":142,"by":143,"text":144},"39952329","Kamii0909","So basically you doesn't have any non trivial example. What else but to be expected?",{"value":146,"source":62,"evidence":147},"Hard to say what it costs; price and cloud pitch confusing",[148,152],{"id":149,"by":150,"text":151},"39919740","jayloofah","What is the cost of planning and working through, let's say, a manageable issue in a repo? Does it make sense to use 3.5\u002FSonnet or some lower cost endpoint for these tasks?",{"id":65,"by":66,"text":67},{"value":154,"source":62,"evidence":155},"Terminal diff review TUI is unnecessary; prefer git diff",[156],{"id":157,"by":158,"text":159},"39926778","CGamesPlay","Love the idea of this, and very excited to see how it pans out. That said: I hate the code review UI. Just dump the changes as `git diff` does and let me review them using all…",{"value":161,"source":62,"evidence":162},"Only supports OpenAI; wrapper concern",[163],{"id":164,"by":165,"text":166},"39918755","BirbSingularity","It's pretty annoying that every project like this lately is just a wrapper for OpenAI API calls.",[168,183,190,201],{"value":169,"source":62,"evidence":170},"Support other models such as Claude, Gemini, and open source via ollama or OpenRouter",[171,175,179],{"id":172,"by":173,"text":174},"39920013","codeapprove","Not affiliated with the project but you could use something like OpenRouter to give users a massive list of models to choose from with fairly minimal effort https:\u002F\u002Fopenrouter.ai\u002F",{"id":176,"by":177,"text":178},"39929191","ijustlovemath","To support many other models you should look at ollama - it provides a REST API on your machine for local inference that works just like OpenAI",{"id":180,"by":181,"text":182},"39921455","npace12","I think Mistral-2-Pro would work really well for this, judging by the great results I've had with it on another heavy on tool calling project [1] [1]…",{"value":184,"source":62,"evidence":185},"Add Azure OpenAI and custom endpoints",[186],{"id":187,"by":188,"text":189},"39925165","ukuina","Congrats! Looks great, and I can't wait to try it. Do you support AzureOpenAI with custom endpoints? Are any special settings necessary to disable telemetry or non-core network…",{"value":191,"source":62,"evidence":192},"Run tests or execute code to check output",[193,197],{"id":194,"by":195,"text":196},"39925076","dr_kiszonka","Hi! Is it possible to tell Plandex that the code should pass all tests in, e.g., `tests.py`?",{"id":198,"by":199,"text":200},"39924199","splatzone","This is really cool. I tried it and ran into a few syntax errors - it kept missing closing braces in PHP for some reason. It seems it might be useful if it could actually try to…",{"value":202,"source":62,"evidence":203},"Bring back plain diff output",[204],{"id":157,"by":158,"text":159},[206,213,220],{"value":207,"source":62,"evidence":208},"How does it compare to aider",[209],{"id":210,"by":211,"text":212},"39924660","wanderingmind","Congrats on the launch. Can you please compare and contrast Plandex features with another similar solution like aider[1] which also helps solve similar problem. [1]…",{"value":214,"source":62,"evidence":215},"How is line-number editing handled",[216],{"id":217,"by":218,"text":219},"39923707","timfsu","Congrats on the launch, I'm excited to give it a try. I'm curious how you're having it edit files in place - having built a similar project last summer, I had trouble with…",{"value":221,"source":62,"evidence":222},"What does it cost to run a task",[223,224],{"id":149,"by":150,"text":151},{"id":81,"by":82,"text":83},[226,230,237,241],{"value":227,"source":62,"evidence":228},"aider",[229],{"id":210,"by":211,"text":212},{"value":231,"source":62,"evidence":232},"GitHub Copilot",[233],{"id":234,"by":235,"text":236},"39918671","lprubin","Looks interesting. Can you go into more detail about why you like this better for large\u002Fcomplex tasks compared to GH Copilot?",{"value":238,"source":62,"evidence":239},"ollama",[240],{"id":176,"by":177,"text":178},{"value":242,"source":62,"evidence":243},"OpenRouter",[244],{"id":172,"by":173,"text":174},{"comments":246,"answered":247,"key":248},45,14,[249,252,255],{"id":250,"text":251},"39926821","Thanks for the feedback! I actually had a ‘plandex diff’ command working at one point, but dropped it in favor of the changes TUI. I could definitely bring it back for people who…",{"id":253,"text":254},"39932745","Thanks, I'll consider this. It would be easy enough to add flags that will allow this.",{"id":256,"text":257},"39937667","Yeah, that makes sense. I'm going to add this soon.",{"commenters":259,"max_depth":18,"maker_replies":246,"first_comment_mins":247,"lifespan_hours":260},55,149,[262,264,266,270,274,275,278,279,281,282,285,289,293,295,297,300,302,305,306,308,312,314,316,318,320,322,326,328,331,334,336,339,343,345,349,351,353,357,361,363,365,367,371,373,375,378,382,383,387,390,394,396,398,399,401,403,405,407,408,410,414,416,417,420,423,425,427,431,433,437,440,442,445,449,451,454,457,459,461,463,466,469,471,473,475,477,478,480,483,485,488,489,491,494,497,500,502,505,508,511,513,516,517,518,520,524,528,530,534,536,539],[157,43,33,263,158,43],"project\u002Fcritical\u002Fdesign",[250,43,43,265,11,33],"maker\u002Fneutral\u002Fdesign",[267,43,38,268,269,43],"39927233","project\u002Fneutral\u002Fdesign","retendo",[271,43,43,272,273,43],"39928458","commenter\u002Fneutral\u002Fdesign","adr1an",[253,43,43,265,11,33],[276,43,38,268,277,43],"39937579","parentheses",[256,43,43,265,11,33],[210,33,38,280,211,43],"project\u002Fneutral\u002Fidea",[127,33,43,280,11,33],[283,33,41,284,211,43],"39924873","project\u002Fpositive\u002Fidea",[286,33,38,287,288,43],"39926218","project\u002Fmixed\u002Fidea","anotherpaulg",[290,33,43,291,292,43],"39928934","other\u002Fneutral\u002Fnone","bjornsing",[294,33,43,268,11,33],"39932661",[112,39,41,296,113,43],"project\u002Fpositive\u002Fdocs",[298,39,43,299,11,33],"39932724","maker\u002Fpositive\u002Fnone",[134,38,33,301,135,43],"project\u002Fcritical\u002Fidea",[303,38,43,304,11,33],"39922660","project\u002Fneutral\u002Fexecution",[138,38,33,301,139,43],[307,38,43,304,11,33],"39923769",[309,38,33,310,311,43],"39922688","project\u002Fcritical\u002Fexecution","IshKebab",[313,38,43,304,11,33],"39922805",[142,38,33,315,143,43],"maker\u002Fcritical\u002Fexecution",[317,38,43,304,11,33],"39953447",[217,319,38,304,218,43],4,[321,319,43,304,11,33],"39923863",[323,319,41,324,325,43],"39923920","project\u002Fpositive\u002Fexecution","nico",[327,319,43,304,11,33],"39924358",[329,41,38,330,158,43],"39928593","project\u002Fneutral\u002Fdocs",[332,41,43,333,11,33],"39931623","commenter\u002Fpositive\u002Fdocs",[116,18,41,335,117,43],"project\u002Fpositive\u002Fdesign",[337,18,43,338,11,33],"39922504","maker\u002Fneutral\u002Fnone",[340,341,41,284,342,43],"39922856",7,"visarga",[344,341,43,280,11,33],"39922929",[346,341,38,347,348,43],"39924832","maker\u002Fneutral\u002Fexecution","Aeolun",[350,341,43,304,11,33],"39925180",[352,341,43,291,325,43],"39923947",[354,341,38,355,356,43],"39924134","maker\u002Fneutral\u002Fdocs","ugh123",[358,341,38,359,360,43],"39925999","project\u002Fneutral\u002Fpricing","sanmon3186",[362,341,38,359,158,43],"39926728",[120,364,41,284,121,43],8,[366,364,43,299,11,33],"39924816",[368,369,38,280,370,43],"39921436",9,"asadalt",[372,369,43,280,11,33],"39921463",[374,369,33,301,370,43],"39921979",[376,369,43,291,377,43],"39921950","razster",[379,380,38,268,381,43],"39922445",10,"mbil",[97,380,43,304,11,33],[384,385,43,291,386,43],"39928815",11,"poulpy123",[388,385,43,291,389,43],"39928844","paradite",[391,385,43,392,393,43],"39929536","other\u002Fneutral\u002Fidea","dmos62",[395,385,43,338,11,33],"39932685",[65,34,33,397,66,43],"project\u002Fcritical\u002Fpricing",[69,34,43,359,11,33],[400,34,33,397,66,43],"39944385",[402,34,43,359,11,33],"39944679",[194,404,38,304,195,43],13,[406,404,43,304,11,33],"39925152",[149,247,38,359,150,43],[409,247,43,359,11,33],"39919869",[411,412,41,299,413,43],"39929023",15,"jtwaleson",[415,412,43,338,11,33],"39932871",[234,31,38,280,235,43],[418,31,41,284,419,43],"39918753","Cieric",[421,31,43,422,11,33],"39922850","commenter\u002Fneutral\u002Fnone",[198,424,33,310,199,43],17,[426,424,43,347,11,33],"39924272",[428,429,41,430,277,43],"39928219",18,"project\u002Fpositive\u002Fnone",[432,429,43,338,11,33],"39932824",[434,435,33,263,436,43],"39922556",19,"brap",[438,435,43,272,439,43],"39922576","vertis",[441,435,43,265,11,33],"39922636",[443,435,41,335,444,43],"39922686","ENGNR",[446,447,38,338,448,43],"39935312",20,"htrp",[450,447,43,299,11,33],"39936083",[187,452,38,453,188,43],21,"project\u002Fneutral\u002Fnone",[455,452,43,456,11,33],"39925211","maker\u002Fneutral\u002Fprivacy",[176,458,38,280,177,43],22,[460,458,43,338,11,33],"39932813",[462,458,38,280,177,43],"39936097",[464,458,43,465,11,33],"39937693","maker\u002Fneutral\u002Fidea",[467,468,38,304,277,43],"39938212",23,[470,468,43,338,11,33],"39944182",[472,468,43,347,11,33],"39983823",[164,474,33,301,165,43],24,[476,474,43,465,11,33],"39918812",[172,474,38,280,173,43],[479,474,43,465,11,33],"39920114",[481,474,38,280,482,43],"39922489","kekebo",[484,474,43,422,11,33],"39922691",[486,474,43,291,487,43],"39922342","j45",[180,474,38,280,181,43],[490,474,43,465,11,33],"39921521",[492,474,38,280,493,43],"39923034","p1esk",[495,474,43,496,11,33],"39923169","maker\u002Fpositive\u002Fidea",[498,474,38,453,499,43],"39921601","mritchie712",[501,474,43,291,348,43],"39924912",[503,474,41,284,504,43],"39922143","CharlieDigital",[506,474,43,422,507,43],"39923514","_ink_",[509,474,41,335,510,43],"39923688","aerhardt",[512,474,43,422,11,33],"39923796",[514,474,43,291,515,43],"39923973","bottlepalm",[81,32,38,453,82,43],[85,32,43,338,11,33],[519,32,41,299,82,43],"39934754",[521,522,33,301,523,43],"39930387",26,"bobby_the_whal",[525,526,41,430,527,43],"39921681",27,"aksyam",[529,526,43,338,11,33],"39926898",[531,532,41,430,533,43],"39923745",28,"ahstilde",[535,532,43,338,11,33],"39926894",[537,538,41,299,487,43],"39922335",29,[540,538,43,338,11,33],"39922845",[542,543],{"id":4,"t":12,"points":14,"comments":15},{"id":544,"t":545,"points":546,"comments":547},"43710576",1744838802,257,81,[549,554,559,563,568,573],{"id":550,"name":551,"points":552,"category":553},"39923404","LLocalSearch",669,"ai",{"id":555,"name":556,"points":557,"category":558},"39895960","form",389,"web_saas",{"id":560,"name":561,"points":562,"category":20},"39887313","Libmui",300,{"id":564,"name":565,"points":566,"category":567},"39903471","OneUptime",233,"infrastructure",{"id":569,"name":570,"points":571,"category":572},"39882873","Truncate",188,"games",{"id":574,"name":575,"points":576,"category":577},"39854584","Spice.ai",177,"data",false,"v2",{"id":581,"name":5,"line":6,"ai":578,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":582,"top":18,"kw":583,"maker":11,"domain":10,"tier":19,"attempts":39,"strip":584,"url":9,"mix":585,"praise":109,"objection":131,"sub":21},39918500,0.09,[21,24,25,26,27],"1335031135553351301135513533331333553355",[31,32,33,34],1794036652335]