SONUB
EN English 한국어 日本語 中文 हिन्दी বাংলা اردو Español Português Français Deutsch Русский العربية Bahasa Indonesia Tiếng Việt ไทย Türkçe

How to enable notifications

Notifications are unavailable in this browser or on this address. Try a supported browser on the secure SONUB site.

If notifications are blocked, allow them in your browser settings.

  1. Open the site controls beside the address bar, or your browser’s site settings. Set Notifications for this site to Allow.
  2. In your device settings, allow notifications for your browser and check Do Not Disturb or Focus.
  3. Return to SONUB, reload the page, and use the bell to enable notifications.

On iPhone or iPad, add SONUB to your Home Screen, open it there, then allow notifications.

Anthropic

Claude Code — Anthropic’s coding agent in your terminal

Type claude in a project folder and it starts. It reads your , answers questions about it, edits files and runs commands to test its own work. This page covers installing it and your first run, and links to the course chapters that go deeper.

Intermediate — daily habits: instruction files, permissions, context

You have installed it and done a first task — now build the habits you will use every day. Learn project instructions (CLAUDE.md), AGENTS.md that many AIs read together, permissions and modes, keeping the tidy and asking well, then finish with practice.

CLAUDE.md — project instructions read every session

CLAUDE.md is a Markdown file that Claude Code reads every time a session starts. Write down what you are tired of repeating: build and test commands, rules, things it must not do. Run /init and it reads the project and writes a first CLAUDE.md. CLAUDE.md files in several places do not override each other — they are all read together.

  • ~/.claude/CLAUDE.md — your personal instructions for every project
  • ./CLAUDE.md or ./.claude/CLAUDE.md — project instructions the team shares (commit it to Git)
  • ./CLAUDE.local.md — instructions only you use in this project (add it to .gitignore). But if even one exists, AGENTS.md is not read
  • CLAUDE.md in a subfolder — also read when Claude reads or edits files in that folder. Rule files in .claude/rules/ can apply to certain files only, with paths
CLAUDE.md
# My App

## Commands
- Install: npm install
- Test: npm test
- Lint: npm run lint

## Rules
- TypeScript strict mode. Do not use `any`.
- Put new API routes in src/routes/.
- Never edit files in vendor/.
- Run the tests before you say a task is done.

@docs/architecture.md

Keep it short (the official docs suggest under 200 lines). It is read every time, so a long file takes up room and buries the important rules. /memory shows the instruction files that were loaded and opens them for editing, and @path (like @docs/architecture.md) pulls in another file. If you use several AIs together, it is best to keep only AGENTS.md in the project instead of CLAUDE.md — see the section right below.

Use only AGENTS.md — so every AI works from the same instructions

Why do this? If one project uses other AIs such as Codex, Cursor or Gemini alongside Claude Code, separate instruction files for each tool soon drift apart. AGENTS.md is an open format that many coding read. Write the rules once in AGENTS.md and every follows the same instructions, whichever one you work with. The method below exists for exactly this — so that in one project, many AIs all use the same instructions through AGENTS.md.

Claude Code can read AGENTS.md directly too (v2.1.277 or later), but not quite like CLAUDE.md.

  • With the default setting it reads AGENTS.md only when there is no CLAUDE.md, .claude/CLAUDE.md or CLAUDE.local.md in the working folder or any folder above it. Adding just one CLAUDE.local.md for personal notes stops AGENTS.md from being read (~/.claude/CLAUDE.md and .claude/rules/ do not count here).
  • An AGENTS.md in a subfolder is read only when Claude opens a file there with the Read tool. When it writes a new file straight into that folder, it may not know the rules yet. A subfolder CLAUDE.md is read on reads, writes and edits.
  • AGENTS.local.md, AGENTS.override.md and files under a .agents/ folder are not read, and neither is the AGENTS.md of a folder added with --add-dir.

The best way is not to use CLAUDE.md in the project folder at all and use only AGENTS.md. Your global instructions in ~/.claude/CLAUDE.md are still loaded by default, and in the project folder AGENTS.md is used. Other AIs such as Codex read the same AGENTS.md, so you edit the rules in one place only — AGENTS.md.

But if you use CLAUDE.md in even one place — the project folder, the current folder, a parent folder or a subfolder — you must use CLAUDE.md in every folder. If there is even one CLAUDE.md in the working folder or above it, Claude Code does not read AGENTS.md, so mixing them means some folders' rules are read and others are left out. If you still want to use AGENTS.md in that case, just add one line, @AGENTS.md, to each CLAUDE.md. @path is the that pulls a file's contents in at that spot, and the official docs say this import never makes Claude read AGENTS.md twice.

  1. Write the shared rules (install and test commands, code rules, things not to do) in AGENTS.md at the top of the project. You can also create it with Codex's /init.
  2. Do not create CLAUDE.md, .claude/CLAUDE.md or CLAUDE.local.md anywhere in the project (not in the current folder, parent folders or subfolders).
  3. Keep your personal instructions for every project in ~/.claude/CLAUDE.md — it is always loaded together with AGENTS.md.
  4. If a subfolder has its own rules (for example api/), put an AGENTS.md there as well.
  5. Open /memory in Claude Code and check that AGENTS.md was loaded. If you decided to use CLAUDE.md, also check that every folder's CLAUDE.md has the one line @AGENTS.md.
Best — AGENTS.md only
~/.claude/CLAUDE.md    ← your personal rules (still loaded by default)

my-project/
├── AGENTS.md          ← shared rules for every AI (Claude Code, Codex, Cursor, Gemini …)
└── api/
    └── AGENTS.md      ← rules only for api/

(no CLAUDE.md anywhere in the project)
If you use CLAUDE.md anywhere — put one in every folder
my-project/
├── AGENTS.md
├── CLAUDE.md          ← @AGENTS.md
└── api/
    ├── AGENTS.md
    └── CLAUDE.md      ← @AGENTS.md
CLAUDE.md
@AGENTS.md

Good to know, and other ways. ① With AGENTS.md only, a subfolder's AGENTS.md is read when Claude opens a file there with Read. ② Set Project instructions in /config to claude-md-and-agents-md and each folder's AGENTS.md is read right after its CLAUDE.md. ③ A symbolic link (ln -s AGENTS.md CLAUDE.md) also works, but with Windows in the mix the one line @AGENTS.md is safer.

Permissions and modes — decide what it may do without asking

Claude Code asks before it edits a file or runs a command. If approving the same thing every time gets tiresome, turn it into a rule, and switch modes to suit the job.

  • Shift+Tab — switch modes: default (ask every time) → acceptEdits (file edits without asking) → plan (read only and show a plan). If you started in auto mode, the first press switches to default.
  • /permissions — see and edit the allow, ask and deny rules and which file each one comes from.
  • .claude/settings.json holds rules the team shares (commit it), .claude/settings.local.json holds rules only you use, and ~/.claude/settings.json holds rules for all your projects.
  • Rules are checked in the order deny → ask → allow. Anything denied anywhere cannot be allowed elsewhere, so block secret files such as .env with deny.
.claude/settings.json
{
  "permissions": {
    "allow": [
      "Bash(npm run lint)",
      "Bash(npm run test *)",
      "Bash(git diff *)"
    ],
    "deny": [
      "Read(./.env)",
      "Read(./.env.*)",
      "Read(./secrets/**)"
    ]
  }
}

bypassPermissions (--dangerously-skip-permissions) turns every check off. Use it only where damage does not matter, such as a container or virtual machine with no internet access.

Managing context — when the conversation gets long

How much Claude can see at once (the ) is fixed. The conversation, the files it read and command output all pile up there, and when it is full the earlier part gets summarized. The longer it grows, the fainter earlier instructions become, so make tidying up a habit.

  • /context — see, as coloured blocks, what is taking up the context and how much.
  • /compact — summarize the conversation so far to free up room. You can say what to keep (for example /compact focus on the login bug fix).
  • /clear — start a fresh conversation when you begin unrelated work.
  • claude -c continues the last conversation in this folder, and claude -r or /resume lets you pick an earlier one to continue.
  • Esc twice (or /rewind) — pick an earlier point from the checkpoint list and roll back the conversation and code. Files deleted or moved with Bash are not restored, so it does not replace Git commits.

One job per conversation. When the job changes, starting fresh with /clear is the easiest way to tidy up.

Asking well — where, what and how to check

A good request has three parts: where (files and folders), what (the behaviour you want) and how to check it (tests, commands, screens). The clearer the three are, the less Claude wanders and the more it checks its own results.

  • Vague request: "Fix the login"
  • Clear request: "In @app//Controllers/LoginController.php a wrong password gives a 500 error. Make it return 422 with an , add a test to tests/Feature/LoginTest.php and check that it passes."
  • Type @ to pick a file and attach it to your request (@src/login.ts).
  • For error screens and design mock-ups, paste or drag in a screenshot.
  • For a big job, start with "Read first and show me only a plan — do not change anything yet", or enter plan mode with /plan.
  • For a hard problem, raise the model and effort level in /model, or put ultrathink in your request so it thinks harder on that turn only.

Intermediate practice — try it in your own project

  1. Create AGENTS.md at the top of your project with the test command and three rules, and check that there is no CLAUDE.md in the project.
  2. Open /memory and check that AGENTS.md and ~/.claude/CLAUDE.md were loaded.
  3. In .claude/settings.json allow one test command and deny .env, then check with /permissions.
  4. Ask for one small feature in plan mode, read and adjust the plan, then approve it.
  5. Look at how much is used with /context, shrink it with /compact and look again.

Done all five? Move on to the [Advanced] tab.

Official documentation

Checked against the official documentation on 2026-10-18. These tools change often — if a command fails, see the official docs.

Guidelines

AI

Certificate

Study

Vibe Coding

Game

Practice

Teachers

Chat

Forum

Create

Community

More

Glossary

Pick a word you don't know. You'll see a simple explanation and related terms.

No matching term yet.

Pick a term to see its explanation.