[{"data":1,"prerenderedAt":245},["ShallowReactive",2],{"project-38772039":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":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":38,"post_text":42,"what":43,"said":60,"maker_in_thread":141,"shape":150,"grid":154,"attempts":207,"same_week":208,"maker_shows":237,"maker_hidden":238,"reader_version":239,"card":240},"38772039","Just.sh","compiler that turns Justfiles into portable shell scripts","title","Show HN: Just.sh – compiler that turns Justfiles into portable shell scripts","https:\u002F\u002Fgithub.com\u002Fjstrieb\u002Fjust.sh","github.com","jstrieb",1703601005,2023,64,25,926,3109,30,"notable","dev_tools","command runner","cli",[24,21,25,26],"justfile","posix shell","makefile alternative","debated",0.2,{"positive":30,"neutral":31,"mixed":32,"critical":33},7,2,0,4,13,{"idea":36,"docs":37},{"positive":30,"critical":33},{"positive":32,"critical":32},[39,39,32,32,40,32,40,32,32,32,32,32,32,39,39,32,32,40,32,40,39,41,39,39,41],5,1,3,"Justfiles are like Makefiles, except Just is a command runner, whereas Make is a build system. As I understand it, Just was built to be a less arcane version of Make for collecting commands common to a code repository.\n\nWhen I first learned about Just, I realized that parsing arguments and running commands is exactly what shell scripts do, and there probably isn't much Just does that sh doesn't. This project proves that hypothesis by compiling Justfiles to portable (POSIX-compatible) shell scripts.\n\njust.sh is particularly useful for running Justfiles in esoteric environments where Just may no",{"problem":44,"audience":50,"pricing":50,"motivation":51,"time_to_build":50,"stack":58,"openness":59,"stage":59,"team_size":59},{"value":45,"source":46,"evidence":47},"Running Justfiles where the just tool is hard to install, such as some CI\u002FCD environments","maker",[48],{"id":49},"post",null,{"value":52,"source":46,"evidence":53},"Started as a just-for-fun project after realizing shell scripts cover what Just does; also motivated by Just not being apt-installable",[54,55],{"id":49},{"id":56,"by":11,"text":57},"38774561","I share your wish. This project started out because Just is not apt installable. But at a certain point, it became a \"just for fun\" project (pun intended).",[],"unknown",{"praise":61,"objections":84,"requests":96,"questions":108,"alternatives":115},[62,74],{"value":63,"source":64,"evidence":65},"Useful for distributing Justfile tasks where only a POSIX shell is available","commenter",[66,70],{"id":67,"by":68,"text":69},"38777375","0cf8612b2e1e","Assuming the compilation is perfect, it lets the author maintain the simple Just format, while simultaneously distributing the same code to a runtime (shell) that is installed…",{"id":71,"by":72,"text":73},"38775463","derefr","Presuming the just.sh compiler is doing everything right, you shouldn't have a shell problem, any more than using C compiler means you now have an assembly-language problem.…",{"value":75,"source":64,"evidence":76},"Lowers the barrier to running tasks without installing another tool",[77,81],{"id":78,"by":79,"text":80},"38778631","rgoulter","Yeah. For an individual.. if you're happy to install `just` in any place you're going to maintain the project, that seems better. For helping others use the project, providing a…",{"id":82,"by":79,"text":83},"38778615","I reckon just is 'low-medium benefit for low effort'. There's some nice UX to it, but I think a substantial benefit to it is having one place where you organise \"these are the…",[85],{"value":86,"source":64,"evidence":87},"Adds a compilation step and another artifact to maintain; little benefit over plain shell scripts or Makefiles",[88,92],{"id":89,"by":90,"text":91},"38776536","jitl","Given these examples of a Justfile, it doesn’t seem worth this effort versus using a Makefile and not needing a compilation step (assuming Make is available everywhere). Does…",{"id":93,"by":94,"text":95},"38776870","charles_f","What is the upside compared to just creating the corresponding shell scripts? I can see that one file instead of how many more is better, but it's also one thing more to worry…",[97],{"value":98,"source":64,"evidence":99},"Packaging of just in Linux distributions",[100,104],{"id":101,"by":102,"text":103},"38774378","latchkey","This is fantastic, but I'd say that this solution is somewhat in response to this open issue from 2019: https:\u002F\u002Fgithub.com\u002Fcasey\u002Fjust\u002Fissues\u002F429 I really wish just was included…",{"id":105,"by":106,"text":107},"38782011","SushiHippie","https:\u002F\u002Frepology.org\u002Fproject\u002Fjust\u002Fversions Mhm basically only Arch Linux, Chocolatey, FreeBSD, Gentoo and Homebrew. All others are outdated or nonexistent.",[109],{"value":110,"source":64,"evidence":111},"Does it have bash autocompletion support?",[112],{"id":113,"by":114,"text":110},"38774339","mongol",[116,123,130,134],{"value":117,"source":64,"evidence":118},"pyjust (pip-packaged just binary)",[119],{"id":120,"by":121,"text":122},"38774203","justinyan","I'm a fan of using just as a command-runner as well, but took a slightly different approach to making it pip-installable! I created the `pyjust` package…",{"value":124,"source":64,"evidence":125},"makesure",[126],{"id":127,"by":128,"text":129},"38775370","xonix","makesure, a similar tool (https:\u002F\u002Fmaximullaris.com\u002Fmakesure-vs-just.html) I'm developing, doesn't require installation in the traditional sense:…",{"value":131,"source":64,"evidence":132},"Makefiles",[133],{"id":89,"by":90,"text":91},{"value":135,"source":64,"evidence":136},"Batsh and bish",[137],{"id":138,"by":139,"text":140},"38775795","flir","https:\u002F\u002Fgithub.com\u002Fbatsh-dev-team\u002FBatsh https:\u002F\u002Fgithub.com\u002Ftdenniston\u002Fbish (Just fyi. I've been collecting links to similar things because of Reasons).",{"comments":41,"answered":40,"key":142},[143,144,147],{"id":56,"text":57},{"id":145,"text":146},"38776509","My understanding is that building a .deb is not too hard. The hard part is finding a willing Debian project sponsor to add the package to the archive.…",{"id":148,"text":149},"38772945","Thanks! Yeah, Just is pretty awesome! Its biggest drawback over Make is that you can often assume Make is installed, whereas it's not always clear that Just needs to be installed…",{"commenters":151,"max_depth":39,"maker_replies":41,"first_comment_mins":152,"lifespan_hours":153},19,87,82,[155,157,159,162,166,168,170,172,173,174,178,179,181,182,185,188,189,190,191,194,197,200,203,204,205],[120,32,39,156,121,32],"project\u002Fpositive\u002Fidea",[158,32,39,156,68,32],"38777395",[160,32,32,161,121,32],"38778270","commenter\u002Fneutral\u002Fidea",[163,32,32,164,165,32],"38779987","commenter\u002Fpositive\u002Fidea","snthpy",[101,40,40,167,102,32],"project\u002Fcritical\u002Fidea",[56,40,32,169,11,40],"maker\u002Fneutral\u002Fidea",[171,40,40,167,102,32],"38774638",[71,40,32,164,72,32],[78,40,32,161,79,32],[175,40,32,176,177,32],"38775318","other\u002Fneutral\u002Fnone","fbdab103",[145,40,32,176,11,40],[127,40,32,180,128,32],"other\u002Fneutral\u002Fidea",[105,40,32,176,106,32],[183,31,39,156,184,32],"38773094","simonw",[186,41,39,156,187,32],"38772855","metaketa",[148,41,32,169,11,40],[138,33,32,176,139,32],[89,39,40,167,90,32],[192,39,32,161,193,32],"38776723","nrabulinski",[195,39,40,167,196,32],"38787737","quickthrower2",[198,39,39,156,199,32],"38811688","simonmic",[93,201,41,202,94,32],6,"project\u002Fneutral\u002Fidea",[67,201,39,156,68,32],[82,201,39,156,79,32],[113,30,41,206,114,32],"project\u002Fneutral\u002Fdocs",[],[209,214,218,222,227,232],{"id":210,"name":211,"points":212,"category":213},"38733968","Heynote",1063,"productivity",{"id":215,"name":216,"points":217,"category":213},"38787892","Rem",555,{"id":219,"name":220,"points":221,"category":213},"38747710","Storyteller",338,{"id":223,"name":224,"points":225,"category":226},"38772382","Whataaabout.com",235,"consumer_social",{"id":228,"name":229,"points":230,"category":231},"38717114","Talk2Arxiv",194,"learning_science",{"id":233,"name":234,"points":235,"category":236},"38730143","Emu2",153,"ai",9,false,"v2",{"id":241,"name":5,"line":6,"ai":238,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":28,"top":18,"kw":242,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":243,"url":9,"mix":244,"praise":63,"objection":86,"sub":21},38772039,[24,21,25,26],"5500101000000550010153553",[30,31,32,33],1793991080806]