Skip to content
Agentmart
Submit a tool

CLAUDE.md · luongnv89/asm

CLAUDE.md from luongnv89/asm: 111 lines covering Critical commands, Architecture map, Hard rules, Workflow preferences and more.

Template by luongnv89

IndexedMIT★ 959
Write a review

Chalk Labs

Need help deploying CLAUDE.md · luongnv89/asm?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code. Read the repository before you give any tool access to your data.

curl -fsSL https://raw.githubusercontent.com/luongnv89/asm/main/CLAUDE.md -o CLAUDE.md

Read it and adapt it to your project before use.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

The CLAUDE.md file that luongnv89/asm (959 stars) keeps for coding agents. It has 111 lines in 5 sections: Critical commands; Architecture map; Hard rules; Workflow preferences; Token Efficiency. Use it as a model for your own project's instructions.

Use cases: documentation

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

What's in it

A CLAUDE.md file: project memory Claude Code loads at the start of every session.

For
Claude Code
Length
111 lines
File
CLAUDE.md

Sections

  1. Critical commands
  2. Architecture map
  3. Hard rules
  4. Workflow preferences
  5. Token Efficiency

First lines (shown under the repo's MIT license)

# CLAUDE.md

`agent-skill-manager` (`asm`) — a TypeScript CLI plus ink/React TUI that manages
Agent Skills installed for Claude Code, Codex, Gemini, and OpenClaw.

## Critical commands

```bash
npm install          # postinstall no-ops when CI or ASM_SKIP_POSTINSTALL is set
npm run build        # tsx scripts/build.ts -> dist/ (gitignored)
CI=true npm test     # unit suite — the command of record
npm run test:coverage  # v8 coverage for src/ — measurement only, no fail gate
npm run typecheck    # tsc --noEmit
npm run lint         # eslint over src/
npm run lint:site    # eslint over website-src/src
npm run test:e2e     # tests/e2e/ — NOT covered by `npm test`
npm start            # run the TUI from source
```

`npm test` is `vitest run src/`, and that argument is a **substring filter on the
test path**, not a directory — `website-src/src/__tests__/` matches it too, so
`npm run test:site` is a subset of `npm test`, not a separate leg. Only
`tests/e2e/` is excluded. Measured timings and evidence: `docs/AGENT_ENVIRONMENT.md`.

`npm run test:coverage` is `vitest run --coverage src/` with
`@vitest/coverage-v8` (5.x, matching current vitest). It reports line and
branch percentages for `src/` product files only (test files excluded). There
is **no coverage threshold and no CI fail gate** — measurement before
improvement (F-TEST-003 / #438). Vitest 5 remaps V8 coverage via AST, so the
denominators below are not comparable to the vitest-4 #438 baseline; keep
`coverage.include`.

**Coverage baseline** (2026-09-12, `src/`, v8, `CI=true npm run test:coverage`,
2800 tests):

- Lines: **82.69%** (8740/10569)
- Branches: **73.74%** (5393/7313)

`src/commands/` measures **63.74%** lines (#673): `src/cli-*.test.ts` dispatches
`runCLI()` in-process via `src/cli-test-harness.ts` instead of spawning `tsx`
children that v8 could not
attribute (the layer previously read 10.53%). Still subprocess-bound by
design: the `runInlineTs` readLine tests (stdin pipes need a real child), the
cross-process borrow-lock test under `asm get --path`, and one `bundle export`
no-overwrite case whose `process.exit` sits inside a `catch` that would
swallow the in-process sentinel. `toggle.ts` (disable/enable) stays low
because nothing exercises it — a real gap, not an attribution artifact.

M3's coverage target is bound to **`max(60%, baseline + 20pp)`**:

- Lines: `max(60%, 102.69%)` = **100%** (formula saturates at 100)
- Branches: `max(60%, 93.74%)` = **93.74%**

Node and npm must satisfy `package.json` `engines` — node `">=22 <27"`, npm
`">=9"`.

## Architecture map

- `bin/agent-skill-manager.ts` — entry point: args go to `src/cli.ts`, none to the TUI.
- `src/cli.ts` — argv dispatcher routing to the `cmd*` handler modules in
  `src/commands/`; all output through `src/formatter.ts`.
- `src/index.tsx` + `src/views/` — the ink/React TUI.
- `src/*.ts` — one module per domain (scanner, installer, auditor, skill-index, …),
  each with its `*.test.ts` beside it.
- `data/skill-index/` — committed per-repo index JSON; generated, never hand-edited.
- `website-src/` — site source; `website/` — its published output.
- `scripts/` — build, preindex, catalog generation.
- Detail: `docs/ARCHITECTURE.md`, `docs/DEVELOPMENT.md`.

## Hard rules

- **YOU MUST NOT run `npm run preindex`, `npm run build:website`, or
  `npm run refresh:repo-bundles` as a probe.** They rewrite tracked files under
  `data/skill-index/` and `website/`. Run them only when regenerating the catalog
  is the point of the change, then review the diff.
- **IMPORTANT: `npm run preindex` also rewrites the developer's real
  `~/.config/agent-skill-manager/skill-index/`** — a mutation no git diff shows.
- **Unit tests sandbox user state.** `src/test-setup.ts` (vitest `setupFiles`)
  sets `HOME`, `USERPROFILE`, and `ASM_CONFIG_DIR` to a temp dir. `getConfigDir()`
  in `src/config.ts` reads `ASM_CONFIG_DIR` (fallback `~/.config/agent-skill-manager`).
  Do not remove that setup — without it the suite writes the real user config.
- **IMPORTANT: `CI=true` does not itself isolate the suite**; hermeticity is the
  env override + lazy `getConfigDir()`, not the `CI` flag.
- Never commit `dist/` or `node_modules/`. Most of `website/` is gitignored, but its
  `*-stats.json` and `robots.txt` are tracked — commit those only on a deliberate regeneration.
- Never delete or rewrite untracked scratch files at the repo root; other sessions
  own them.
- Conventional Commits; branch from `main` as `<type>/<issue>-<description>`; PR
  into `main`.

## Workflow preferences

- Iterate with the narrowest runner — `npx vitest run src/<module>.test.ts` — and
  run `CI=true npm test` only before pushing.
- Run `npm run typecheck` after a series of edits; do not wait for the commit hook.
- Change `src/<name>.ts` and its `src/<name>.test.ts` together.
- Install both hook stages; a plain `pre-commit install` silently skips pre-push:
  `pre-commit install --hook-type pre-commit --hook-type pre-push`.
- Prettier runs on commit — do not hand-format markdown, TS, or JSON to match it.
- Keep changes minimal and scoped to the task; do not opportunistically refactor.

## Token Efficiency

- Never re-read files you just wrote or edited. You know the contents.
- Never re-run commands to "verify" unless the outcome was uncertain.
- Don't echo back large blocks of code or file contents unless asked.
- Batch related edits into single operations. Don't make 5 edits when 1 handles it.
- Skip confirmations like "I'll continue..." Just do it.
- If a task needs 1 tool call, don't use 3. Plan before acting.
- Do not summarize what you just did unless the result is ambiguous or you need additional input.

Signals

Stars
959
Forks
83
Open issues
17
Last commit (this folder)
Sep 12, 2026 (1 month ago)
Last release
Oct 20, 2026 (10 days ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from luongnv89

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get CLAUDE.md · luongnv89/asm running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying CLAUDE.md · luongnv89/asm?

CallGet help
Cite this page

CLAUDE.md · luongnv89/asm. Agent Mart. https://agentmart.dev/templates/luongnv89-asm-claude-md (last updated 2026-10-24)