Skip to content

Sabbir Mohammad Sami web developer

ResumeDownload Resume

All notes

(AI)6 min read

How to Write a CLAUDE.md That AI Agents Actually Follow

CLAUDE.md is the file Claude Code reads at the start of every session: your project’s rules, commands and constraints. Keep it short, specific and checkable — the stack, the commands, what never to do, and why. This guide covers where the files live, how imports work, and the exact structure used to build this website.

Cover: “CLAUDE.MD” in heavy capitals beside a tilted sheet listing a project’s stack, commands and reasonsCover: “CLAUDE.MD” in heavy capitals beside a tilted sheet listing a project’s stack, commands and reasons

( Before you start )

What CLAUDE.md does

Claude Code starts every session knowing nothing about your project. CLAUDE.md is the briefing it reads first, every time. A good one saves you repeating “we use npm”, “don’t add dependencies” and “pages are Server Components” in every prompt — and stops the same mistake from happening twice.

Where the files go

FileScopeShared?
~/.claude/CLAUDE.mdYou, in every projectNo
./CLAUDE.md or ./.claude/CLAUDE.mdThis projectYes — commit it
./CLAUDE.local.mdThis project, only youNo — keep it out of Git
.claude/rules/*.mdThis project, split by topicYes

The files add up rather than replace each other: Claude Code loads them from your home folder down to the project. A CLAUDE.md inside a subfolder loads when Claude works in that folder, so each package in a monorepo can carry its own rules.

( Step by step )

Generate a draft

Run /init in a Claude Code session. It reads the project and writes a first CLAUDE.md — or suggests improvements when one already exists. Treat the result as a draft: it can describe what is there, but it cannot know your rules until you write them.

Write rules, not descriptions

The model can read your code. What it cannot read is intent. Spend your lines on what the files do not say:

VagueSpecific
Write clean code.No new dependencies. If one seems necessary, stop and ask.
Use modern React.Pages are Server Components. Client code lives in small "use client" islands.
Test your changes.Run npm run lint and npm run build before saying a task is done.
Be careful with SEO.Every page needs generateMetadata, a canonical URL, one h1 and JSON-LD.

Say why

A rule with a reason gets applied to cases the rule never named. This passage is from the CLAUDE.md that builds this website:

Markdown
## The cardinal sin (learned from portfolio v1)
The old Hero built its <h1> with JS at runtime and started at opacity: 0.
The LCP element was not in the HTML. Never do this. Text goes in the
server HTML; GSAP only animates clip-path / transform / opacity on top of it.

Because the reason is there — the largest text on the page has to be in the server HTML — Claude applies it to headings, captions and buttons too, not only to the one hero it mentions.

Correct what the model learned from old code

Models learn from older code. On a new major version, list the differences that have bitten you. This site runs Next.js 16, so its CLAUDE.md says so plainly:

Markdown
## Next.js 16 — things that differ from training data
- params and searchParams are Promises: const { slug } = await props.params
- cookies(), headers() and draftMode() are async-only.
- Turbopack is the default. No --turbopack flag in scripts.
- Re-read node_modules/next/dist/docs/ before using an API you are unsure about.

Split it with @imports

Long files get skimmed, by people and models alike. Aim for under 200 lines per file and pull the rest in with @path imports:

Markdown
@AGENTS.md

# Portfolio v2

See @docs/architecture.md for the folder layout
and @package.json for the available scripts.
  • Paths are relative to the file that does the importing.
  • Imports can nest up to four levels deep.
  • An @path inside a code span or code block is left alone, so you can still write about imports.

( Going further )

CLAUDE.md and AGENTS.md together

AGENTS.md is the shared instructions file that many coding agents read, and Claude Code reads it too when a project has no CLAUDE.md. If you keep both, put the shared rules in AGENTS.md and make the first line of CLAUDE.md @AGENTS.md. That leaves one source of truth — which is exactly how this site’s repository is set up.

A template to start from

Markdown
# <Project name>

## Stack
- Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS 4.
- Package manager: npm. Do not add dependencies without asking.

## Commands
- npm run dev — local server
- npm run lint — must pass before you finish
- npm run build — must pass before you finish

## Rules
- Pages are Server Components; client code in small "use client" islands.
- No hardcoded URLs: read SITE_URL from lib/site.ts.
- Never edit generated files such as next-env.d.ts.

## Why
- SEO is the first requirement, so all content must be in the server HTML.

Keep it alive

  • When Claude makes the same mistake twice, add the one line that prevents it.
  • During a session, ask Claude to “remember” a rule or to “add this to CLAUDE.md”.
  • Run /memory to see every memory file that is loaded and open one in your editor.
  • Delete rules that no longer apply — a stale rule is followed just as faithfully as a good one.

CLAUDE.md FAQ

How long should CLAUDE.md be?
Short enough to read in a minute — under about 200 lines per file. Move the detail into imported files.
Should I commit CLAUDE.md?
Yes, the project file. Personal preferences belong in CLAUDE.local.md or ~/.claude/CLAUDE.md instead.
Does Claude always follow it?
It is context, not enforcement. For anything that must happen every time, such as formatting or protecting a file, use a hook.
CLAUDE.md or a skill?
Rules that apply to every task go in CLAUDE.md. A long procedure for one kind of task belongs in a skill, which loads only when it is needed.

Reference: Claude Code docs — Memory.

Topic
AI
Published
Reading
6 min · 899 words
Sections
11
Tags
  • Claude Code
  • CLAUDE.md
  • AGENTS.md
  • Prompt engineering
  • AI agents

Experience

( 03 roles — 2+ years )

Full-stack developer in Dhaka, Bangladesh. Building for clients in Germany and Bangladesh since 2022.

  1. (01)

    August 2025 — Present

    Full-Stack Developer

    Susko GmbH · Full Time · Remote

    • Developed and enhanced an AI-powered SaaS and social media automation platform — AI content, image and video generation, automated scheduling and publishing, multi-account and content-team management, Meta, Instagram and Google integrations, WhatsApp-based content generation and scheduling, admin controls and subscription management.
    • Built a full-stack Padel court management and automation system that connects physical court hardware to a real-time web dashboard — court and player management, game control and live scores over WebSocket — and worked on the sensor electronics, PCB design, footprint verification, Gerber validation and JLCPCB manufacturing.
    • Built and maintained automation workflows with n8n, webhooks, APIs and external service integrations that take manual steps out of business processes.
    • Delivered 40+ production websites and full-stack applications for German clients across industries in React, Next.js and TypeScript — shop management, review management and automation, fundraising platforms, menu management, QR code generation and other custom business tools.
    • Optimized backend performance across production applications — database queries, API paths, data processing and Redis-based workflows — for faster, more responsive apps.

    Next.js · React · TypeScript · Node.js · Python · Prisma · Redis · WebSocket · n8n · OpenAI

  2. (02)

    March 2024 — May 2025

    Software Developer

    Bangladesh Associate of IT Solutions · Full Time · On-site

    • Developed a full-stack inventory management system tracking products, sales, payments, returns, waste products, customer ledgers and SMS notifications, in React, TypeScript, Express and MySQL.
    • Scaled an accounting management platform from a single-client application into a multi-user system, with financial dashboards, journal entries, transaction management, reporting and data visualization.
    • Deployed and maintained web applications on cPanel and VPS servers — production deployments, domain configuration, server setup and troubleshooting.
    • Delivered websites for schools, madrasas and other organizations, turning client requirements into responsive, production-ready web applications.
    • Developed and redesigned production and company portfolio websites in React, Next.js and TypeScript, with a focus on responsive design and user experience.

    React · Next.js · TypeScript · Express · MySQL · Tailwind CSS · cPanel · VPS

  3. (03)

    November 2023 — April 2024

    Full-Stack Developer

    Diginie IT · Internship · Remote

    • Completed a remote internship as a full-stack developer, building and maintaining client web applications in Next.js, TypeScript and Tailwind CSS.
    • Turned designs into responsive pages that held together on every screen size, and kept existing client sites running.

    Next.js · TypeScript · Tailwind CSS · GitHub

About

( Dhaka, Bangladesh )

Sabbir Mohammad Sami — full-stack web & app developer at Susko GmbH, building for the web since 2022.

Sabbir Mohammad Sami, smiling and looking off to the side, seated on a white block in a black sweater — black-and-white studio portrait

I’m a full-stack developer from Dhaka who cares about the part people actually touch — unusual layouts, careful CSS, motion that means something — and about the code underneath being just as clean.

( Story )

I grew up in Dhaka and studied arts and humanities at Kabi Nazrul Government College. Alongside my studies I joined a web development course, and that is where the real growth started — surprise. Alongside work, I am now in my third year of Honours in Economics at National University.

My first website was a tourism site about the place I most wanted to visit. I built it in class 10.

Today I build AI products, automation and client platforms at Susko GmbH, after two years of shipping inventory, accounting and client sites at BAITS. What I am after has not changed: interfaces that look good and back-ends that run smoothly, from the same pair of hands.

Honest, down to earth, and fond of hard work. My inbox is always open — for a project, or just to say hi.

  1. ( Education )

    1. Kabi Nazrul Government College

      • Arts and humanities
      • Dhaka, Bangladesh
    2. National University, Bangladesh

      Session 2023–2024 · Now

      • Honours in Economics — 3rd year
      • Department of Economics
  2. ( Co-curricular )

    —

    Bangladesh National Cadet Corps (BNCC)

    • 1 No Battalion, Ramna Regiment
    • Rank: Cadet Corporal
  3. ( Languages )

    Bangla, English, Hindi

    • Bangla — native
    • English — comfortable
    • Hindi — fluent

( Skills )

Expertise
React · Next.js · JavaScript · TypeScript · MongoDB · Bootstrap · Tailwind CSS · shadcn/ui · GitHub · Figma
Comfortable
Flutter · Dart · MySQL · Mongoose · Express · TanStack Query · Firebase · React Router · Photoshop
Familiar
Zod · Framer Motion · GSAP · JWT · Axios · CORS · Stripe · Vercel

( Questions )

Who is Sabbir Mohammad Sami?

Sabbir Mohammad Sami (S M Sami) is a full-stack web and app developer from Dhaka, Bangladesh. Since August 2025 Sami has worked as a Full-Stack Developer at Susko GmbH in Germany, after building inventory and accounting platforms at Bangladesh Associate of IT Solutions (BAITS). Sami has been building for the web since 2022.

What does Sabbir Mohammad Sami build?

Sami builds websites, web apps, mobile apps and AI products end to end: company and restaurant websites, booking and management platforms, an AI social media platform (Kocial), an AI review manager (ReviewSync) and a Flutter money app (Sompi). That includes 40+ production websites for clients in Germany and Bangladesh.

Which technologies does Sami work with?

Sami works across the MERN stack — MongoDB, Express, React and Node.js — and with Next.js, TypeScript, Tailwind CSS, MySQL, PostgreSQL, Prisma and Redis. Mobile apps are built in Flutter and Dart. AI features use the OpenAI API, n8n automations and webhooks, and motion uses GSAP.

Does Sami build mobile apps with Flutter?

Yes. Sami builds cross-platform apps in Flutter and Dart. Sompi, Sami’s own money tracker, runs on Android, iOS, the web and the desktop from one Flutter codebase, with Riverpod for state and an encrypted SQLite store, so every account and transaction stays on the device.

Does Sami build AI products?

Yes. At Susko GmbH Sami builds AI SaaS: Kocial writes captions, generates images and publishes to Facebook and Instagram for agencies, and ReviewSync answers Google reviews in a business’s own voice. Sami also builds n8n workflows that connect AI models to business tools.

How can I hire Sami as a web or app developer in Dhaka?

Email smsami.dev@gmail.com or use the contact form on this site with a short note about the project. Sami works with clients in Dhaka, across Bangladesh and abroad — remotely for companies in Germany — and replies in English or Bangla.

( Contact )

Contact

( Available for projects )

Based in Dhaka, Bangladesh (GMT+6). Happy to talk in English, Bangla or Hindi.

Let’s work together.

Have an exciting project you need help with? Send me an email, give me a call, or write below — a project, a question, or just to say hi.

( Write to me )

* Required