<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss-styles.xsl" type="text/xsl"?><rss version="2.0"><channel><title>Juan Felipe Rivera Gonzalez - Blog</title><description>Articles about web development, software engineering, and technology by Juan Felipe Rivera Gonzalez, Full Stack Developer.</description><link>https://jjuanrivvera.com/</link><language>en-us</language><copyright>Copyright 2026 Juan Felipe Rivera Gonzalez</copyright><managingEditor>noreply@jjuanrivvera.com (Juan Felipe Rivera Gonzalez)</managingEditor><webMaster>noreply@jjuanrivvera.com (Juan Felipe Rivera Gonzalez)</webMaster><ttl>60</ttl><image><url>https://jjuanrivvera.com/og-image.jpg</url><title>Juan Felipe Rivera Gonzalez - Blog</title><link>https://jjuanrivvera.com/blog</link></image><item><title>Git Worktrees for Parallel AI-Assisted Development</title><link>https://jjuanrivvera.com/blog/worktree-strategy/</link><guid isPermaLink="true">https://jjuanrivvera.com/blog/worktree-strategy/</guid><description>Branch switching loses more than uncommitted changes when an AI agent is in the loop. The agent loses its session context too. Git worktrees prevent both.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate><enclosure url="https://jjuanrivvera.com//_astro/worktree-strategy-cover.n-FVOxmn.jpg" type="image/jpeg"/><category>claude-code</category><category>git</category><category>worktrees</category><category>docker</category><category>workflow</category><author>Juan Felipe Rivera González &lt;noreply@jjuanrivvera.com&gt;</author></item><item><title>CLIs Over MCPs for AI Tool Integration</title><link>https://jjuanrivvera.com/blog/clis-over-mcps/</link><guid isPermaLink="true">https://jjuanrivvera.com/blog/clis-over-mcps/</guid><description>MCP servers put credentials in JSON configs. CLIs keep them in a keyring. After six months using both, I moved my main integrations off MCP. Here is why.</description><pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate><enclosure url="https://jjuanrivvera.com//_astro/clis-over-mcps-cover.DiUIZuPX.jpg" type="image/jpeg"/><category>claude-code</category><category>mcp</category><category>cli</category><category>go</category><category>security</category><author>Juan Felipe Rivera González &lt;noreply@jjuanrivvera.com&gt;</author></item><item><title>Ship Fast and Safe with AI Agents: The Enforcement Layer</title><link>https://jjuanrivvera.com/blog/ship-fast-and-safe-with-ai-agents/</link><guid isPermaLink="true">https://jjuanrivvera.com/blog/ship-fast-and-safe-with-ai-agents/</guid><description>AI coding agents cheat tests and can stage secrets. Enforcement at the hook and commit layer is what keeps quality, speed, and security together.</description><pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate><enclosure url="https://jjuanrivvera.com//_astro/enforcement-layer-cover.CVxayt77.jpg" type="image/jpeg"/><category>claude-code</category><category>ai-agents</category><category>git-hooks</category><category>security</category><category>quality</category><author>Juan Felipe Rivera González &lt;noreply@jjuanrivvera.com&gt;</author></item><item><title>Context Engineering Across 12 Repositories</title><link>https://jjuanrivvera.com/blog/context-engineering-across-12-repositories/</link><guid isPermaLink="true">https://jjuanrivvera.com/blog/context-engineering-across-12-repositories/</guid><description>Working across 12 repositories on different stacks is harder for AI assistants than it looks. Here is the context system I landed on.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate><enclosure url="https://jjuanrivvera.com//_astro/context-engineering-12-repos-cover.651FKvAj.jpg" type="image/jpeg"/><featured>true</featured><category>claude-code</category><category>ai</category><category>context-engineering</category><category>developer-tools</category><category>productivity</category><author>Juan Felipe Rivera González &lt;noreply@jjuanrivvera.com&gt;</author></item><item><title>Canvas CLI: The Complete Guide to LMS Automation</title><link>https://jjuanrivvera.com/blog/canvas-cli-the-complete-guide/</link><guid isPermaLink="true">https://jjuanrivvera.com/blog/canvas-cli-the-complete-guide/</guid><description>Master Canvas LMS automation with Canvas CLI. Learn installation, OAuth setup, batch operations, shell scripting, and advanced workflows for administrators.</description><pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate><enclosure url="https://jjuanrivvera.com//_astro/canvas-cli-guide-cover.D4wyQ3Iu.jpg" type="image/jpeg"/><featured>true</featured><category>go</category><category>canvas-lms</category><category>cli</category><category>automation</category><category>ai-agents</category><author>Juan Felipe Rivera González &lt;noreply@jjuanrivvera.com&gt;</author></item><item><title>Canvas LMS Kit: The Complete PHP SDK You&apos;ve Awaited</title><link>https://jjuanrivvera.com/blog/canvas-lms-kit-the-complete-php-sdk/</link><guid isPermaLink="true">https://jjuanrivvera.com/blog/canvas-lms-kit-the-complete-php-sdk/</guid><description>Discover how Canvas LMS Kit simplifies Canvas API integration with 45 APIs, OAuth support, and production-ready features. A comprehensive PHP SDK guide.</description><pubDate>Sun, 30 Nov 2025 00:00:00 GMT</pubDate><enclosure url="https://jjuanrivvera.com//_astro/canvas-lms-kit-introduction-cover.DSgXo6_L.jpg" type="image/jpeg"/><category>php</category><category>canvas-lms</category><category>sdk</category><category>api</category><category>oauth</category><author>Juan Felipe Rivera González &lt;noreply@jjuanrivvera.com&gt;</author></item></channel></rss>