Just shipped upkeep - a CLI for JS/TS project maintenance Tired of: - `npm outdated` returning 50 packages - `npm audit` with no context on what matters - Projects slowly rotting while you ship features upkeep gives you: - Single command health check (`upkeep quality`) - Risk assessment before upgrades (`upkeep risk lodash`) - AST-based import analysis (`upkeep imports react`) And if you use Claude Code, there are skills that turn maintenance into an AI-assisted conversation. Would love feedback! #ClaudeCode #Programming #TypeScript
Upkeep CLI for JS/TS Project Maintenance
More Relevant Posts
-
“Checked the logs. Found the bug.” 😅 Every developer knows this moment: You dig through a mountain of logs, feel like a detective, and finally spot the culprit. But here’s the uncomfortable truth: Most bugs aren’t hard to fix. They’re hard to see. If your logs don’t tell the right story, you’re not debugging—you’re guessing. And guessing scales terribly in production. The real win isn’t “finding the bug.” It’s building systems where bugs can’t hide. #softwaredevelopment #webdevelopment #programming #javascript #debugging #observability
To view or add a comment, sign in
-
-
Here we are again with another principle from The Pragmatic Programmer — EXCEPTIONS 📘 One of the problems with exceptions is knowing when to use them. Are they meant for every error? No, They should be used only for unexpected situations — the things that break your assumptions. If something is part of normal program behavior — like: • A user entering invalid input • Searching for a record that might not exist • Checking if an optional file is present That’s normal flow. Handle it with regular conditions (if/else, return values). That’s just your program doing its job. But if something happens that breaks a core assumption — like: • A configuration file that is guaranteed to exist is suddenly missing • A database connection fails unexpectedly • A critical dependency crashes That’s exceptional. That’s when you use an exception. A simple mindset shift helped me: Exceptions are not traffic lights controlling normal flow. They’re fire alarms 🚨 — you use them when something that should never happen actually happens. #programming #softwaredevelopment #cleancode #coding #bestpractices #pragmaticprogrammer #javascript #php #softwareengineering
To view or add a comment, sign in
-
From Manual Compilation to Automation: Mastering Build Systems and Function Pointers in C I’ve just completed Sprint 09 of the Marathon C, and it was a deep dive into the world of automation and architectural flexibility. The goal was to build a command-line calculator that doesn't just work, but is built using professional automation standards. Key Takeaways: I moved away from manual clang commands to writing complex Makefiles. I learned how to optimize the development process by using incremental compilation, ensuring that only modified files are rebuilt. Instead of using long if/else chains, I implemented a more flexible architecture using an array of structures with function pointers . This made the code cleaner and more modular. I gained a better understanding of why stderr is crucial for professional tools—keeping error messages separate from the actual data in stdout. Coming from a background in C++ and JavaScript, seeing how C handles these low-level concepts was eye-opening. Drawing analogies between JavaScript callbacks and C function pointers helped me grasp the logic much faster. This sprint taught me that a developer's job isn't just to write code that works, but to build a system that is easy to compile, maintain, and scale. Project link: ssh://git@git.green-lms.app:22022/challenge-495/mdholovko-8925.git #InnovationCampusKhPI #CProgramming #SoftwareDevelopment #CodingMarathon #Automation #Makefiles #LearningByDoing
To view or add a comment, sign in
-
-
Ever spent hours debugging code only to find a tiny mistake? 👀 Unit tests catch errors early, improve code quality, and save time. From Python to JavaScript, our latest guide shows practical examples, best practices, and common pitfalls. Read the full article 👉🏻 https://lnkd.in/dKTydXwH 💬 What’s your biggest challenge with unit testing? #UnitTesting #SoftwareDevelopment #CleanCode #TestPapas
To view or add a comment, sign in
-
Giving inline coding agents “X-ray vision” for repo changes AI coding agents often run stateless, so they can’t browse GitHub history or make sense of noisy git logs. They know what changed, but not why or where. Built git-commit-tracker to solve this - a lightweight tool that analyses any commit and surfaces the commit message (intent) + impacted files (scope). AST-based parsing, works across all file types, and supports local or remote repos. Install: pip install git-commit-tracker GitHub: https://lnkd.in/gE53z8GT PyPI: https://lnkd.in/g88KPAeG #python #opensource #aiengineering #devtools #git #automation
To view or add a comment, sign in
-
State Management Explained – From Basics to Advanced 🚀 State management is all about how an application stores, updates, and shares data between components. In this visual, I’ve covered: ✔️ Local State ✔️ Global State ✔️ Context API ✔️ Redux ✔️ Recoil ✔️ Zustand Understanding state management helps you: 🔹 Build scalable applications 🔹 Avoid prop drilling 🔹 Improve performance 🔹 Write cleaner and maintainable code Whether you’re a beginner or revising fundamentals, this is a must-know concept for every developer. 💬 Which state management approach do you use the most? #StateManagement #WebDevelopment #FrontendDevelopment #ReactJS #Redux #SoftwareEngineering #Programming #Coding #TechLearning #DeveloperCommunity #CleanCode #FullStackDeveloper #JavaScript #ComputerScience #LinkedInLearning
To view or add a comment, sign in
-
-
🐱💻 DAY 5. What if Type-Testing in C# was explored by a curious cat? This curious cat asks a practical question: “How do I safely figure out what an object really is?” 🐾 That’s when it discovers type-testing and casting operators. 🐱 is → check type and branch logic Use is when behavior depends on the object’s type. Modern C# even lets you declare a variable inline. if (stream is StreamReader reader) { reader.ReadLine(); } 🐱 as → safe casting Use as when you just need a cast without exceptions. If the conversion fails, you get null, not a crash. var reader = stream as StreamReader; if (reader != null) { reader.ReadLine(); } 🐱 typeof → exact type comparison Use typeof when you must compare types directly. if (item.GetType() == typeof(StreamReader)) { // exact type match } 🐾 Cat’s conclusion Use is when logic changes by type Use as when you want a safe variable Use typeof when exact equality matters Understanding these operators makes your code safer, clearer, and more expressive — exactly how C# is designed 😺 #Developers #CSharp #DotNet #OOPWithHumor #CatCoder 🐾👩💻
To view or add a comment, sign in
-
-
Developer Tool of the Day: VS Code Extensions If you are a developer, these VS Code extensions will boost productivity: 1. Prettier → Auto formats your code 2. Live Server → Run website instantly 3. GitLens → Better Git tracking 4. Auto Rename Tag → Saves time in HTML 5. Error Lens → Shows errors clearly Good tools = Faster work + Clean code. Which editor do you use? VS Code or something else? 👀 #vscode #developertools #codingtools #programming #softwaredeveloper #webdeveloper #techtools #productivity #coders
To view or add a comment, sign in
-
-
The Power of Iteration, the Art of the Loop 🔄 In programming, if you have to do the same thing twice, you’re doing it wrong. Today was all about efficiency and automation as I dove deep into JavaScript Loops. What I covered today: ✔️ The Logic of Iteration ✔️ The "For" Loop ✔️ The "While" & "Do-While" Loops ✔️ Control Flow ✔️ Problem Solving 📢 You can check out my GitHub repo in comment. #JavaScript #CodingJourney #WebDevelopment #Loops #BangladeshDevelopers
To view or add a comment, sign in
-
-
🚀 𝗖# 𝟭𝟰 𝗶𝘀 𝗵𝗲𝗿𝗲 With C# 14, the language continues a clear and deliberate evolution. Fewer abstractions leaking into your code, less boilerplate, and more expressive APIs without sacrificing performance or clarity: • Making intent explicit • Enabling better API design • Reducing ceremony in everyday code • Supporting high-performance and modern architectures ✅ One of the most impactful changes in C# 14 is 𝗘𝘅𝘁𝗲𝗻𝘀𝗶𝗼𝗻 𝗠𝗲𝗺𝗯𝗲𝗿𝘀. A long-awaited evolution of extension methods that fundamentally improves how we extend types safely and cleanly. 𝗕𝘂𝘁, 𝘄𝗵𝗮𝘁 𝗱𝗼𝗲𝘀 𝗶𝘁 𝗺𝗲𝗮𝗻𝘀? As everybody knows, extensions could only be methods... until now. Because you can now extend a type with members, not just methods and that includes: • Properties • Operators • Static members • All scoped to the extended type And the best, it can be included within the same block, so you get better isolation and testable code. 𝗙𝗼𝗿 𝗺𝗼𝗿𝗲 𝗶𝗻𝗳𝗼𝗿𝗺𝗮𝘁𝗶𝗼𝗻: 𝗘𝘅𝘁𝗲𝗻𝘀𝗶𝗼𝗻 𝗺𝗲𝘁𝗵𝗼𝗱𝘀 -> https://lnkd.in/ePN3j9ar 𝗘𝘅𝘁𝗲𝗻𝘀𝗶𝗼𝗻 𝗸𝗲𝘆𝘄𝗼𝗿𝗱 -> https://lnkd.in/eWV8WvR4 Happy coding! #dotnet #csharp14 #fundamentals #programming #extensionmethods
To view or add a comment, sign in
-
More from this author
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development
- Single binary (~65MB) - Zero runtime dependencies - Cross-platform (macOS, Linux, Windows) - Dependabot integration (optional, requires gh CLI) - Built with Bun GitHub: https://github.com/llbbl/upkeep