Greg Baugues thumbnail

Greg Baugues

Claude Code + GitHub WORKFLOW for Complex Apps

Key Takeaways & Insights

  • The video presents a practical workflow combining Cloud Code with GitHub to develop web apps, centered on the classic software development life cycle: plan, create, test, and deploy.
  • Leveraging AI coding assistants like Claude Code can significantly enhance productivity, especially when integrated with issue tracking, CLI tools, and continuous integration.
  • The importance of granular, well-defined GitHub issues is emphasized to enable effective AI-driven development and reduce rework.
  • Testing is critical—both automated test suites and UI testing with Puppeteer—to maintain confidence in AI-generated code and prevent regressions.
  • Human involvement is essential mainly in planning and reviewing phases, reinforcing that AI assists but does not replace the developer’s responsibility for quality.
  • The workflow is heavily inspired by GitHub Flow, a well-known, proven methodology adaptable for a single developer plus AI assistant.
  • Using scratchpads as working memory for Claude Code helps with organization, reference previous work, and breaking down complex issues.
  • Deployments are automated via GitHub merges triggering platforms like Render, simplifying continuous deployment.
  • The speaker prefers running Claude Code locally through console slash commands over GitHub Actions due to cost and context quality considerations.
  • Parallel work trees for multitasking multiple Claude sessions are conceptually useful but practically cumbersome due to permission reapprovals and complexity, making single-instance workflows preferable currently.

Actionable Strategies

  • Start by creating detailed, atomic GitHub issues representing discrete tasks; refine these issues iteratively to improve clarity and scope.
  • Use dictation tools and AI (Claude) to convert raw requirements into a structured requirements document and then into GitHub issues.
  • Install the GitHub CLI to enable Cloud Code to interact with GitHub repositories via command line.
  • Establish a robust test suite and continuous integration (GitHub Actions) early in the project to automatically validate commits and enforce code quality.
  • Set up Puppeteer integrated with a local MCP server to enable AI-driven automated UI testing by simulating browser interactions.
  • Create a Cloud Code slash command that accepts an issue number and orchestrates these phases:
     1. Plan: Use scratchpads and GitHub CLI to research the issue, review prior PRs, and break the issue into smaller tasks.
     2. Create: Generate code for the atomic tasks defined in the plan.
     3. Test: Run the test suite and Puppeteer UI tests to verify code correctness.
     4. Deploy: Commit code, open a pull request, review, and merge to trigger deployment.
  • Perform PR reviews either manually or via a dedicated slash command that instructs Claude Code to review code in the style of a respected engineer (e.g., Sandy Mets) to identify maintainability improvements.
  • After merging, clear Cloud Code’s context window with the /clear command to ensure fresh context for the next issue and optimize token usage.
  • Delegate heavily in the create, test, and deploy phases while maintaining close human involvement in planning and requirements refinement.
  • Use Claude Code’s ability to browse previous PRs and scratchpads to maintain continuity and avoid redundant work.
  • Prefer running Claude Code in the console with the Max API plan to manage costs and maintain better control over context and interactions.
  • Consider using GitHub Actions with Claude for small fixes or copy edits but avoid it for large, complex code changes due to metered billing and limited context.

Specific Details & Examples

  • The workflow is based on GitHub Flow, created ~13-14 years ago by Scott Shaon at GitHub.
  • Initial project setup involved 30-40 GitHub issues created via Claude Code but required significant issue refinement to be effective.
  • The speaker has 10+ years experience primarily in Python and often resorts to Rails for complex web apps due to its MVC structure and integrated testing framework.
  • Puppeteer is used to simulate browser clicks and test UI changes automatically.
  • Continuous integration is done via GitHub Actions running test suites and linters on every commit.
  • The speaker uses Render.com for automatic deployment triggered by merges to the main branch.
  • Referenced a popular post by Thomas Tacic titled “All of My AI Skeptic Friends Are Nuts,” advocating responsible AI-assisted coding and code review.
  • PR reviews can be done by Claude Code in the style of Sandy Mets, a respected Rails engineer known for maintainable code principles.
  • Challenges with Git work trees include repeated permission approvals and extra babysitting overhead, leading to preference for a single Claude instance workflow.
  • Mentioned tools/resources:
     – GitHub CLI for GitHub integration
     – Cloud Code (Anthropic) with slash commands
     – Puppeteer for UI testing
     – Render.com for deployment
     – Super Whisper for dictation
     – Cursor IDE for code review

Warnings & Common Mistakes

  • Avoid assuming that AI-generated GitHub issues are immediately ready for coding; take time to refine and break down issues into very specific, atomic tasks.
  • Beware of delegating planning entirely to AI; human involvement in clarifying requirements and prioritization is crucial.
  • Don’t blindly trust AI-generated code without review—always examine PRs and test results before merging.
  • Vibe coding (blindly accepting AI commits without review) can lead to problems; maintain discipline in code review and testing.
  • Using GitHub Actions for Claude on large code changes can incur unexpected API billing costs, even with a Max plan.
  • Work trees can be cumbersome due to repeated permission requests and managing multiple repo copies, potentially slowing down development.
  • Don’t compact Cloud Code’s context window; prefer clearing it to avoid context pollution and token inefficiency.
  • Avoid large monolithic files; modular codebases (e.g., MVC frameworks) facilitate better AI assistance.

Resources & Next Steps

  • Read Thomas Tacic’s article “All of My AI Skeptic Friends Are Nuts” for perspectives on AI-assisted coding.
  • Explore GitHub Flow as a foundational workflow for collaborative and AI-assisted development.
  • Use GitHub CLI (https://cli.github.com/) for seamless GitHub integration.
  • Set up Puppeteer (https://pptr.dev/) for automated UI testing.
  • Use Render.com for easy continuous deployment.
  • Check out Claude Code Pro Tips video for deeper insights on using Claude effectively.
  • Consider setting up dedicated slash commands in Cloud Code tailored to your workflow for planning, testing, and reviewing.
  • Keep refining issue granularity and ensure each issue is fully self-contained for AI to work effectively from a cold start.
  • Experiment with PR review commands modeled on expert engineers’ styles to improve code quality.
  • Follow-up by watching related content on AI-assisted coding workflows and best practices.

Main Topics

  • AI-assisted software development workflow integrating Cloud Code with GitHub
  • Planning and refining GitHub issues for AI coding agents
  • Using GitHub CLI for AI interaction with repositories
  • Automated testing: test suites and Puppeteer UI tests
  • Continuous integration with GitHub Actions
  • Code review strategies including AI-assisted PR reviews
  • Deployment automation with Render linked to GitHub merges
  • Managing Cloud Code context and scratchpads for efficient AI work
  • Cost and practical considerations using Claude via console vs GitHub Actions
  • Challenges and usage of Git work trees for parallel AI coding sessions
  • Balancing human involvement and AI assistance in software development process
← Back to Greg Baugues Blog