<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Developer Tools on Spaghetti Code 🍝</title>
    <link>https://spaghetti-code.net/en/tags/developer-tools/</link>
    <description>Recent content in Developer Tools on Spaghetti Code 🍝</description>
    <image>
      <title>Spaghetti Code 🍝</title>
      <url>https://spaghetti-code.net/images/og-default.png</url>
      <link>https://spaghetti-code.net/images/og-default.png</link>
    </image>
    <generator>Hugo -- 0.160.0</generator>
    <language>en</language>
    <lastBuildDate>Fri, 06 Nov 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://spaghetti-code.net/en/tags/developer-tools/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Structured Output From LLMs: JSON Schema Explained</title>
      <link>https://spaghetti-code.net/en/posts/llm/llm-structured-output/</link>
      <pubDate>Fri, 06 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/llm/llm-structured-output/</guid>
      <description>How LLM structured output works: JSON mode vs. a real JSON Schema guarantee, constrained decoding, and getting valid JSON from OpenAI, Claude, and Ollama.</description>
    </item>
    <item>
      <title>ESLint vs Prettier: What Each Does and How to Combine Them</title>
      <link>https://spaghetti-code.net/en/posts/javascript/eslint-vs-prettier/</link>
      <pubDate>Sun, 01 Nov 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/javascript/eslint-vs-prettier/</guid>
      <description>ESLint catches bugs and bad patterns in your code; Prettier only reformats it. Here is why running both together causes conflicts, and the setup that avoids it.</description>
    </item>
    <item>
      <title>How to Build an LLM Eval: Testing Prompts Like Code</title>
      <link>https://spaghetti-code.net/en/posts/llm/llm-evals/</link>
      <pubDate>Fri, 30 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/llm/llm-evals/</guid>
      <description>How LLM evals work: a golden dataset, deterministic assertions, LLM-as-judge scoring, and wiring the suite into CI so a prompt edit can&amp;#39;t regress silently.</description>
    </item>
    <item>
      <title>LLM Function Calling and Tool Use, Explained</title>
      <link>https://spaghetti-code.net/en/posts/llm/llm-function-calling/</link>
      <pubDate>Thu, 22 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/llm/llm-function-calling/</guid>
      <description>How LLM function calling (tool use) works: the JSON Schema tool definition, the request-response loop, parallel calls, and handling bad arguments in code.</description>
    </item>
    <item>
      <title>npm vs Yarn vs pnpm: Which Package Manager to Use</title>
      <link>https://spaghetti-code.net/en/posts/nodejs/npm-vs-yarn-vs-pnpm/</link>
      <pubDate>Sat, 17 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/nodejs/npm-vs-yarn-vs-pnpm/</guid>
      <description>npm, Yarn, and pnpm read the same package.json but build node_modules differently. Compare install commands, lockfiles, workspaces, and when each breaks.</description>
    </item>
    <item>
      <title>Python Decorators Explained With Examples</title>
      <link>https://spaghetti-code.net/en/posts/python/python-decorators-explained/</link>
      <pubDate>Wed, 07 Oct 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/python/python-decorators-explained/</guid>
      <description>Python decorators explained with real examples: how the @ syntax works, functools.wraps, decorators with arguments, class-based decorators, and lru_cache.</description>
    </item>
    <item>
      <title>Python Virtual Environments: venv, pip and uv</title>
      <link>https://spaghetti-code.net/en/posts/python/python-virtual-environments/</link>
      <pubDate>Wed, 30 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/python/python-virtual-environments/</guid>
      <description>What a Python virtual environment actually is, how to create one with venv or uv, manage dependencies with pip and pyproject.toml, and fix the common errors.</description>
    </item>
    <item>
      <title>How CLI Coding Agents Work and How to Choose One</title>
      <link>https://spaghetti-code.net/en/posts/llm/how-cli-coding-agents-work/</link>
      <pubDate>Wed, 23 Sep 2026 00:00:00 +0000</pubDate>
      <guid>https://spaghetti-code.net/en/posts/llm/how-cli-coding-agents-work/</guid>
      <description>CLI coding agents all run the same tool-calling loop. What sets one apart is the harness around the model: tools, context handling, permissions, and sandboxing.</description>
    </item>
  </channel>
</rss>
