03 Your First Claude Code Project: Build an AI News Digest in an Afternoon

Theory only gets you so far. This chapter is all hands-on. You will build a real CLI tool from scratch. By the end, you will understand what conversational programming actually feels like.

What We Are Building

A daily AI news aggregator. It is a CLI tool that does three things: pulls the latest articles from a few RSS feeds, uses AI to summarize each one, and outputs a formatted Markdown report.

Why this project? It is small enough to finish in an afternoon, but complete enough to touch networking, data processing, AI calls, and file output. One project, and you will have sampled virtually every Claude Code capability.

Before we start, one mindset shift: from here on, you are the product manager and Claude is your engineer. Your job is to describe what you want, not to write code. Even if you are a senior developer, try it this way first.

Step 1: Describe What You Want

Open a terminal, create an empty directory, and start Claude Code:

mkdir ai-news-digest && cd ai-news-digest
claude

Now describe what you want in plain language:

Build me an AI news aggregator CLI tool. Requirements:

  1. Fetch articles from the last 24 hours from these RSS sources:
  2. Extract title, link, publish time, and source for each article
  3. Sort by time, newest first. Output a Markdown report to an output/ directory
  4. Use TypeScript, run with tsx

Do not start coding yet. Give me an implementation plan first.

That last sentence is not a courtesy. It is a key technique: make Claude think before it acts. The quality of your requirements directly determines the quality of the output. Be specific about the final deliverable, pick the tech stack, and give concrete URLs instead of saying “a few RSS feeds.”

Step 2: Review the Plan

Claude will not jump straight into code. It will present a plan first. You will see something like: a proposed project structure with src/index.tssrc/fetcher.tssrc/formatter.ts, and src/types.ts; a tech breakdown using rss-parser, Node’s built-in fetch, and date-fns; and an implementation flow of fetching, filtering, sorting, and writing the report.

Now you act like a product manager reviewing an engineering proposal. If the plan looks good, say so. If you want changes, just say them:

Plan looks good. Two additions:

  1. Add a one-sentence summary for each article — pull the first 100 characters from the description field
  2. Add a stats line at the top of the report: “Collected X articles from Y sources”

This back-and-forth is the heart of conversational programming. Claude proposes, you refine, Claude adjusts. No diagrams, no tech specs, just plain language.

Step 3: Watch Claude Work

Once you confirm the plan, Claude starts executing. You will see it initialize the project, install dependencies, create source files one by one, and run tests. If something breaks, Claude reads the error, diagnoses the problem, fixes the code, and tries again — all on its own. The whole process takes about 2 to 5 minutes.

Your role during this phase: watch. Think of it like delegating to a new colleague. The first few times you keep an eye on things. Once you know their style, you trust them to handle it.

Claude will request permission multiple times during execution. Early on, review each one. Once you are comfortable, use /permissions to pre-authorize common commands or switch to Auto mode.

Step 4: Verify the Output

When Claude is done, run the project:

npx tsx src/index.ts

If everything works, you will find a Markdown file in output/ with a structure like:

AI News Daily — 2026-03-28

Collected 23 articles from 3 sources

TechCrunch AI

OpenAI Releases GPT-5.4 with 2M Context Window

https://techcrunch.com/
2026-03-28 14:30

OpenAI today released GPT-5.4…

Most of the time, it works on the first run. If it does not, paste the error message directly to Claude. It will read the stack trace, find the issue, and fix it. This error-to-fix loop usually resolves in one or two rounds.

Step 5: Iterate and Improve

The tool works. Now you want more. Keep using natural language:

Add AI summarization: “Right now the summaries are just truncated descriptions. Use the Claude API to generate a real one-line summary for each article. Read the API key from the ANTHROPIC_API_KEY environment variable.”

Add scheduled runs: “Add a cron mode. npx tsx src/index.ts runs once. npx tsx src/index.ts --cron starts a scheduled job that runs every morning at 8 AM. Use node-cron.”

Add deduplication: “Some articles appear in multiple sources. Deduplicate by URL.”

Each round, Claude modifies the code, runs the tests, and shows you the result. You do exactly two things: describe what you want, and verify the outcome.

The Mental Shift

After this project, one thing should feel different: your value is not in writing code. It is in defining what to build and judging whether it is right.

Traditional ProgrammingProgramming with Claude Code
Design the solution, write the codeDescribe the requirement, Claude proposes and writes
Debug line by linePaste the error, Claude fixes it
Search docs and Stack OverflowAsk Claude “how do I implement X”
Manual code reviewAsk Claude to explain its code
Understand everything before refactoringTell Claude “refactor this to X pattern”

If you cannot understand the code, ask Claude to explain it. If something is wrong, describe the symptom, do not guess the cause. “Running this only outputs TechCrunch articles, the other two sources are missing” works better than “there is a bug on line 23.”

The five-step loop — describe, review plan, verify execution, check results, iterate — is the same regardless of project size. Small tool or full product, the pattern holds.