5 Hard-Earned Hacks That Helped Me Vibe Code With AI

By: Travis Fleisher

When I first started building projects with AI tools like Claude and ChatGPT, I fell into a lot of avoidable traps. These five habits have changed the way I work and saved me dozens of hours in the process. Here’s what I wish I’d done from the beginning.

1. Connect GitHub to Claude (but don’t forget your IDE)

Claude’s Project mode is incredible. Once you connect your GitHub repo, Claude can:

  • Read your entire file structure

  • Suggest changes based on real context

  • Edit your scripts intelligently instead of hallucinating generic boilerplate

But for quick, local fixes, I always fall back on JetBrains’ AI Assistant in PyCharm. It gives me instant in-line suggestions, autofills docstrings, and is great for debugging on the fly without needing to prompt anything.

My flow:

Use Claude for architectural decisions and larger refactors. Use JetBrains AI for fast code fixes directly in the IDE.

When I first started, I leaned too heavily on Claude and ignored my local tools. But after spending hours copying and pasting snippets between my terminal and browser, I realized I was missing the speed and fluidity that a good IDE offers. JetBrains AI became the perfect complement. It doesn’t replace Claude’s high-level reasoning, but it accelerates the day-to-day mechanics. Don’t pick one or the other. Use both together.

2. Use Claude to Auto-Generate Your Project Directory via Terminal

Here’s a trick I now use every time I start a new project. Ask Claude to map out the directory structure and give you the full terminal command to create it in one go.

For example:

“Give me the mkdir and touch commands to create a project with /src, /utils, /tests, main.py, and config.yaml.”

This saves time, enforces structure from day one, and makes your repo easier for Claude to navigate later on. You’ll thank yourself later.

This trick may seem minor, but it eliminated one of my biggest sources of friction when starting new projects. I used to waste 10 or 15 minutes manually setting up files and folders, only to realize I forgot something. Claude handles this setup instantly. No typos, no missed files, and no mental clutter. It’s a simple automation that compounds over time, especially when you’re spinning up new repos every week.

3. Modularize Early (and Create Universal Folders Like utils and config)

When I started coding, I wrote massive one-script programs. They worked... until they didn’t.

  • Claude couldn’t process them in one shot

  • I couldn’t test or reuse anything

  • Every update felt like surgery

Now I split my logic from the beginning:

  • utils/ for reusable functions

  • config/ for API keys, settings, and paths

  • src/ for main workflows

  • tests/ for testing and validation

Modular code keeps each Claude prompt focused, saves token space, and forces cleaner thinking. It also makes your code easier to read and maintain, especially when you come back to it later.

The first time I tried to feed Claude a 600-line monolithic script, it choked. Claude dropped logic, misunderstood dependencies, and I ended up spending more time debugging the AI than writing code. Once I started modularizing, I noticed a dramatic improvement in how Claude responded. Smaller files meant more targeted help, clearer logic, and fewer token limit issues. If you want to scale your use of AI in coding, modularization isn’t optional. It’s essential.

4. Always Use old/ and test/ Folders

Every project I run has two extra folders:

  • old/ for deprecated or backup versions

  • test/ for scripts I’m actively experimenting with

Before testing a new script or major change, I move the current version to old/. That way, if something breaks, I can drop the old version back in instantly. No stress. No digging through Git history.

It’s a simple, manual version control system that has saved me more times than I’d like to admit.

Even with Git, sometimes it’s just faster and more intuitive to keep a local old/ folder. If I’m prototyping a new approach or adding a new module, I can stash the previous version with one drag and drop. No staging, no commits. Just a quick backup you can roll back to in seconds. This system isn’t fancy, but it’s incredibly practical when you’re moving fast. It gives you the freedom to experiment without risking what already works.

5. Don’t Blindly Trust Claude’s Full Code Responses. Always Double Check

This one hit me the hardest.

Sometimes Claude will return a seemingly complete script. But after pasting it into PyCharm, I’d realize:

  • Whole functions were missing

  • Certain logic had been silently dropped

  • The code was 100 lines shorter than expected

The issue is that Claude doesn’t always tell you when it runs into token or context limits. So if you’re expecting 300 lines and only get 150, stop and ask:

“Did you skip any parts?”
“Continue from where you left off.”

Also, be explicit with your prompts. If you want the entire function preserved, say so. And always use your gut. If something feels off, it probably is.

There were times I copied what looked like a full script from Claude, only to find out later that key functions were gone or an entire chunk of logic had vanished. That’s dangerous. You can’t always assume the AI got it right. You have to double-check. I now routinely ask if anything was skipped, break long prompts into smaller chunks, and never assume a response is complete without verifying it myself. Claude is smart, but you're still the engineer.

Final Thought

AI is the best coding co-pilot I’ve ever had. But it only works well when paired with structure, good habits, and your own judgment. These five lessons didn’t come easy, but they’ve made every project smoother since. If you're just starting out or trying to level up, this is the foundation I’d recommend.

Travis

Next
Next

Claude’s New Connectors Directory and the Rise of Model Context Protocol (MCP)