← Back to Blog

Getting Started with Claude Code: Setup, IntelliJ, and Your First AI-Powered Commit

4 min read

Part 1 of 3 in the “Building with Claude Code” series


I recently spent a weekend learning Claude Code from scratch — not just the commands, but how to think alongside it. By the end, I had a fully working web app, a clean Git history, and a fundamentally different view of how I’ll write software going forward.

This is Part 1 of a 3-part series documenting that journey. Today we’ll cover the setup: installing Claude Code, plugging it into IntelliJ IDEA, and getting your first AI-assisted commit pushed to GitHub.

What Is Claude Code, and Why Should You Care?

If you’ve been using Claude through the web chat, Claude Code will feel like a revelation. Instead of copying code between a browser and your editor, Claude Code runs in your terminal and has direct access to your project files. It reads your codebase, writes code, runs commands, handles Git — all through natural language conversation.

The key difference: Claude Code doesn’t just talk about your code. It works on it.

Think of it as the difference between asking a colleague for advice over Slack versus having them sit down at your machine and pair-program with you.

What We’re Building

Throughout this series, we’ll build a Bookmarks Manager — a web app for saving, tagging, searching, and organizing links. The stack:

  • Kotlin + Spring Boot 3 (backend)
  • Thymeleaf + vanilla JS (frontend)
  • H2 in-memory database
  • Gradle with Kotlin DSL
  • Git + GitHub for version control

Setting Up Claude Code

Install the CLI

On macOS or Linux, a single command gets you there:

curl -fsSL https://claude.ai/install.sh | bash

Verify it worked:

claude --version

You’ll need a Claude Pro ($20/month) or Max subscription. The first time you run claude, it opens your browser for a one-time login.

Install the IntelliJ Plugin

This is optional but worth it. The plugin gives you visual diffs, automatic context sharing, and keyboard shortcuts.

  1. Open IntelliJ IDEA → Settings → Plugins → Marketplace
  2. Search for “Claude Code” by Anthropic PBC
  3. Click Install, then restart IntelliJ

Important: You’ll need IntelliJ 2024.x or newer. I was running 2021.3 and had to update first — the plugin simply won’t install on older versions.

Set Up Git and GitHub

Install the GitHub CLI — it makes repo creation and PR workflows seamless:

brew install gh
gh auth login

Phase 0: Project Init

Create the project folder and initialize everything:

mkdir ~/bookmarks-app
cd ~/bookmarks-app
git init
gh repo create bookmarks-app --public --source=. --remote=origin

Now launch Claude Code:

claude

Your First Real Prompt

Here’s where the prompting guide matters. Compare these two approaches:

Vague prompt (don’t do this):

Make me a Spring Boot project

Specific prompt (do this):

Create a Kotlin + Spring Boot 3 project for a bookmarks manager web app.

Use Gradle with Kotlin DSL. Include these dependencies:
- Spring Web
- Spring Data JPA
- H2 Database
- Thymeleaf (for server-side HTML)

Set up the standard project structure:
- src/main/kotlin/com/bookmarks/ (with Application.kt)
- src/main/resources/templates/ (for HTML)
- src/main/resources/static/ (for CSS/JS)
- src/main/resources/application.yml

Configure H2 as an in-memory database with the web console enabled.
The app should run on port 8080.

Also create a .gitignore for Kotlin, Gradle, IntelliJ IDEA, and macOS.

The specific prompt takes 30 seconds longer to write and saves you 10 minutes of back-and-forth corrections.

Introducing CLAUDE.md: Your Project’s Memory

CLAUDE.md lives at the root of your project. Claude reads it at the start of every session. It’s how you give Claude persistent knowledge about your project — your tech stack, your conventions, your Git workflow — without repeating yourself.

Pro tip: Include your Git conventions in CLAUDE.md. Claude follows the rules you set here — think of it as configuring an AI teammate.

Your First AI-Powered Commit

Tell Claude:

Stage all files, create an initial commit with the message
"chore: scaffold Kotlin + Spring Boot project with Gradle",
and push to origin main.

Claude runs git add ., git commit, and git push — all from within the session. Verify with:

! git log --oneline

What We’ve Learned So Far

  1. Installing Claude Code — one command on Mac/Linux
  2. IntelliJ integration — plugin install, shortcuts, and the version gotcha
  3. The specific prompting principle — 30 extra seconds of detail saves 10 minutes
  4. CLAUDE.md — your project’s persistent memory
  5. Git from the CLI — Claude handles add, commit, push, and PR creation

Coming Up Next

In Part 2, we’ll build the app: Plan Mode for multi-file features, the feature-branch workflow with pull requests, debugging with Claude, and building both the backend API and frontend UI.

In Part 3, we’ll cover power-user tricks: context management, piping Git diffs into Claude for review, auto-generated commit messages, and building a reusable prompt library.


All code from this series is available on GitHub.