{"id":5186,"date":"2025-02-12T17:05:22","date_gmt":"2025-02-12T22:05:22","guid":{"rendered":"https:\/\/frontendmasters.com\/blog\/?p=5186"},"modified":"2025-02-12T17:05:23","modified_gmt":"2025-02-12T22:05:23","slug":"my-dev-apps-setup-winter-2025","status":"publish","type":"post","link":"https:\/\/frontendmasters.com\/blog\/my-dev-apps-setup-winter-2025\/","title":{"rendered":"My Dev Apps Setup (Winter 2025)"},"content":{"rendered":"\n<p>I think it&#8217;s fun to take stock of the tools we use as developers. You know, so we can look back and laugh at our primitive setups. And actually, to inspire you to share yours so I can steal all your better tools. Here&#8217;s a rundown of stuff I use, focused mostly on literal apps on my computer:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>I heard enough good things about <a href=\"https:\/\/www.cursor.com\/\">Cursor<\/a> that I ponied up for a paid account and have used\/like it for a couple months. Honestly though, I&#8217;d like to return to mainline <a href=\"https:\/\/code.visualstudio.com\/\">VS Code<\/a> as something just feels safer about that. I&#8217;m doing that now and trying <a href=\"https:\/\/www.augmentcode.com\/\">Augment<\/a> instead of <a href=\"https:\/\/github.com\/features\/copilot\">Copilot<\/a>, but I&#8217;d be fine with just using Copilot too, probably. The <a href=\"https:\/\/frontendmasters.com\/blog\/notes-on-the-code-editors-with-ai-landscape\/\">landscape<\/a> on all this is really churning right now. I like to give <a href=\"https:\/\/zed.dev\/\">Zed<\/a> an honest go but haven&#8217;t yet.<\/li>\n\n\n\n<li>I listened to a podcast with the <a href=\"https:\/\/changelog.com\/podcast\/622\">Ghostty<\/a> guy and was compelled to switch from <a href=\"https:\/\/iterm2.com\/\">iTerm<\/a> to try it. It&#8217;s been perfectly fine, and I kinda like the <em>lack<\/em> of AI stuff in it actually. Turns out I need <em>zero<\/em> settings in a terminal? I kinda love that. Although I did ultimately set <code>window-padding-x = 24<\/code> and <code>window-padding-y = 24<\/code> as the text I felt hugged the edges too closely.<\/li>\n\n\n\n<li>Ghostty supports <a href=\"https:\/\/github.com\/tmux\/tmux\/wiki\">tmux<\/a>, which is a must for me as someone with a main dev environment that runs a ton of crap at once, like a bunch of <a href=\"https:\/\/www.docker.com\/\">Dockers<\/a>. I like that tmux helps with that, but otherwise hate it (ugly, weird to configure, makes copying text awful, text wrapping gets janked up, etc). I would honestly take a <em>proprietary<\/em> tool for this and force everyone to use a specific terminal app if it could be done with nice elegant native UI. <\/li>\n\n\n\n<li>I have a bunch of technology-specific extensions for VS Code that aren&#8217;t terribly interesting (e.g. I love authoring HTML emails in MJML and <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=mjmlio.vscode-mjml\">their plugin<\/a> works fine for previewing). But the most important generic extensions are:\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=sleistner.vscode-fileutils\">File Utils<\/a>: how these functions aren&#8217;t built in is beyond me.<\/li>\n\n\n\n<li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=eamodio.gitlens\">GitLens<\/a>: I really like seeing who touched the area of code I&#8217;m looking at last.<\/li>\n\n\n\n<li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=vincaslt.highlight-matching-tag\">Highlight Matching Tag<\/a>: VS Code sorta kinda does this without an extension but I like seeing it much more visually boldly.<\/li>\n\n\n\n<li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=oderwat.indent-rainbow\">Indent Rainbow<\/a>: Duh.<\/li>\n\n\n\n<li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=yoavbls.pretty-ts-errors\">Pretty TypeScript Errors<\/a>: Another one where this really should be the default, ya know, in the editor powered by TypeScript by the makers of TypeScript.<\/li>\n\n\n\n<li><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=aaron-bond.better-comments\">Better Comments<\/a>: I like seeing TODOs in code super boldly.<\/li>\n\n\n\n<li>I wish there was an actually good spell check situation in VS Code.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Oh and obviously the best theme is <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=Catppuccin.catppuccin-vsc&amp;ssr=false#overview\">Catppuccin<\/a> \u2014 any varietal really.<\/li>\n\n\n\n<li>AND <em>most importantly<\/em> <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=tingcode.bread-jam\">Bread Jam<\/a> makes your variables gradients and it&#8217;s so beautiful I love it forever. <\/li>\n\n\n\n<li>I&#8217;ve done <a href=\"https:\/\/gist.github.com\/calebporzio\/c7a2ca8fbd180815e50281bdb7b911ca\">some of the stuff in here<\/a> to trim down on the UI intensity of VS Code. Most importantly are the built-in changes of moving the Primary Sidebar to the right and just removing the Status Bar entirely. Feels so much cleaner. <\/li>\n\n\n\n<li>For Git I really prefer having a GUI and I&#8217;m just on mainline <a href=\"https:\/\/github.com\/apps\/desktop\">GitHub Desktop<\/a>. I was on <a href=\"https:\/\/www.git-tower.com\/mac\">Tower<\/a> for ages and liked it fine, and still prefer some of the things it does (undo is neat and branch management seemed easier), but GitHub Desktop is 1) free 2) works nicely with GitHub obviously including dealing with PRs and 3) runs my Git Hooks with no drama. I <a href=\"https:\/\/frontendmasters.com\/blog\/tower-vs-github-desktop\/\">wrote about this<\/a> in more detail.<\/li>\n\n\n\n<li>I feel stuck on <a href=\"https:\/\/arc.net\/\">Arc<\/a> browser for the not-very-sad reason that I just still like it. <a href=\"https:\/\/chriscoyier.net\/2024\/12\/04\/attempting-a-safari-move\/\">I got a little salty about them<\/a> and tried Safari, but it didn&#8217;t stick. I&#8217;m very tempted by <a href=\"https:\/\/zen-browser.app\/\">Zen<\/a>, but kinda feel like the Firefox base is just as precarious of a product as Arc is. There is a decent amount of action in the niche browser space as well. Should I try <a href=\"https:\/\/browser.horse\/\">Horse<\/a>? <a href=\"https:\/\/kagi.com\/orion\/\">Orion<\/a>? <a href=\"https:\/\/vivaldi.com\/\">Vivaldi<\/a>? <a href=\"https:\/\/wavebox.io\/\">Wavebox<\/a>? <a href=\"https:\/\/deta.surf\/\">Surf<\/a>? Could I just mainline <a href=\"https:\/\/polypane.app\/\">Polypane<\/a>? I think my main desires are: Chromium-based, synced tabs with sticky\/pinned\/always-loaded types, splitting, &#8220;little&#8221; mode, polished UI, and a keyboard shortcut for copying the URL without tracking crap.<\/li>\n\n\n\n<li>There are some apps I use where I feel a smidge of guilt that they aren&#8217;t web based as generally I prefer that, but sometimes just like the native feel. I do all my to-do stuff in <a href=\"https:\/\/culturedcode.com\/things\/\">Things<\/a>, presentations in <a href=\"https:\/\/apps.apple.com\/us\/app\/keynote\/id361285480\">Keynote<\/a>, and calendaring with <a href=\"https:\/\/www.busymac.com\/\">BusyCal<\/a>. (Yes I&#8217;m an all-Apple dude.)<\/li>\n\n\n\n<li>I find a subscription to <a href=\"https:\/\/setapp.com\/\">Setapp<\/a> to be worth it as I get <a href=\"https:\/\/tableplus.com\/\">Tableplus<\/a> for local database work, <a href=\"https:\/\/pasteapp.io\/\">Paste<\/a> for great clipboard management, and <a href=\"https:\/\/cleanmymac.macpaw.com\/20?campaign=cmmx_search_brand_us_en&amp;ci=105095406&amp;adgroupid=5816085726&amp;adpos=&amp;ck=cleanmymac&amp;targetid=kwd-12573386450&amp;match=%7Bif:e%7D&amp;gnetwork=g&amp;creative=536959653018&amp;placement=&amp;placecat=&amp;accname=cmm\">CleanMyMac<\/a> for computer maintenance.<\/li>\n\n\n\n<li>I&#8217;m a co-founder of <a href=\"https:\/\/codepen.io\/your-work\">CodePen<\/a> but of course I actually use it literally every day, <a href=\"https:\/\/www.reddit.com\/r\/Xennials\/comments\/1c0wri9\/im_not_only_the_hair_club_president_im_also_a\/\">like the guy<\/a> you know what I mean. I&#8217;m making demos, checking out other people&#8217;s ideas, prototyping ideas, playing with new front-end tech, etc.<\/li>\n\n\n\n<li>I still operate a bunch of WordPress sites and <a href=\"https:\/\/localwp.com\/\">Local<\/a> is the best app for running those locally. I tend to deploy from commits to the main branch via <a href=\"https:\/\/buddy.works\/\">Buddy<\/a>.<\/li>\n\n\n\n<li>We use <a href=\"https:\/\/www.notion.so\/\">Notion<\/a> for keeping the team at work on the same page with kanban boards, meeting notes, standup documents, and more. It&#8217;s feeling slow and bloated to me these days though. I absolutely do not have time for it but I&#8217;d love to try <a href=\"https:\/\/github.com\/docmost\/docmost\">self-hosting something like it<\/a> or perhaps <a href=\"https:\/\/www.craft.do\/\">Craft<\/a>. <\/li>\n\n\n\n<li><a href=\"https:\/\/www.raycast.com\/\">Raycast<\/a> is a lovely tool for zipping around the computer and doing stuff. I don&#8217;t take enough advantage of it, but I&#8217;m glad I have it as it feels aspirational to do more.<\/li>\n\n\n\n<li>The only tool I have specifically for testing is popping over <a href=\"https:\/\/developer.apple.com\/documentation\/xcode\/running-your-app-in-simulator-or-on-a-device\">iOS simulator<\/a> once in a while, which is just free bundled up with XCode.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>I think it&#8217;s fun to take stock of the tools we use as developers. You know, so we can look back and laugh at our primitive setups. And actually, to inspire you to share yours so I can steal all your better tools. Here&#8217;s a rundown of stuff I use, focused mostly on literal apps [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":5189,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[69],"class_list":["post-5186","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-post","tag-tools"],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/02\/apps.png?fit=1124%2C874&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/5186","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/comments?post=5186"}],"version-history":[{"count":3,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/5186\/revisions"}],"predecessor-version":[{"id":5190,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/5186\/revisions\/5190"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/media\/5189"}],"wp:attachment":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/media?parent=5186"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/categories?post=5186"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/tags?post=5186"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}