
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Let's make AGENTS.md great again! :joy:
Your project grows, but your AGENTS.md
doesn't scale:
project/
├── AGENTS.md ← single file, static name, impossible to sustain
├── docs/
├── api/
Split context into organized fragments, then compose:
project/
├── AGENTS.md ← auto-generated
├── docs/
│ └── overview.agents.md ← parsed
├── api/
│ ├── AGENTS.md ← auto-generated
│ └── endpoints.agents.md ← parsed
├── agents-md/
│ └── epics/
│ └── epic-one.md ← parsed
│ └── epic-two.md ← parsed
One command builds them all:
npx agents-md compose
Compose canonical AGENTS.md
from sustainable and elegant file structures. Keep agent context current, composable, and shareable with your human docs. Abstract-context-as-code is what we aim to achieve.
bun install -D agents-md
(or npm i -D
, pnpm add -D
, yarn add -D
)bun agents-md init
(creates root AGENTS.md
if missing)**/agents-md/**/*.md
**/*.agents.md
**/<customised-directories>/*.md
**/*.<customised-file-formats>
bun agents-md compose
Generated files are owned by agents-md. Don't hand‑edit AGENTS.md
— edit source fragments instead.
To have multiple AGENTS.md
files for dynamic location-based context, simply add an empty AGENTS.md
file in any target directory and rerun bun agents-md compose
.
Common pain points today:
AGENTS.md
per directory; no native "imports" or multi‑file composition.AGENTS.md
itself; no spec for dynamic content (e.g., JSDoc or config extraction).AGENTS.md
;.ruler/
and don't curate dynamic content outside of those directories.**/agents-md/**/*.md
and **/*.agents.md
. Meanwhile, all file paths are configurable.AGENTS.md
target files): One AGENTS.md
per target directory (nearest‑wins by default) with deterministic ordering and source annotations.CLAUDE.md
can import @AGENTS.md
for tools that don't read AGENTS.md
.agents-md init
AGENTS.md
if missing (use compose
if already initialized).agents-md compose
agents-md report [--json]
--json
for CI).agents-md watch [--verbose]
--verbose
to log rebuilds.agents-md help|version
Exit codes: 0
success, 1
generic error, 2
invalid config, 4
limit violation.
Use agents-md.config.ts
(or .js/.mjs
) at repo root. Defaults are zero‑config; customize only as needed. See full schema in docs/design.md
.
Key options
Option | Type | Default | Purpose |
---|---|---|---|
include | string[] | ['**/agents-md/**/*.md','**/*.agents.md'] | Fragment discovery globs |
exclude | string[] | ['**/node_modules/**','**/.git/**'] | Ignore patterns |
includeFiles | (ctx) => boolean | undefined | Advanced per‑file filter |
defaultTarget | `'nearest' | 'root'` | 'nearest' |
annotateSources | boolean | true | Wrap fragments with <!-- source: ... priority=n --> / <!-- /source: ... --> comments |
truncate | { atChars, strategy } | undefined | Trim oversized outputs |
limits | { warn/max source/output } | undefined | Size limits and warnings |
<!-- agents-md: target=nearest -->
<!-- agents-md: target=root -->
<!-- agents-md: target=../docs -->
(relative dir)<!-- agents-md: import=@./shared/common.md -->
<!-- agents-md: import=@../standards/api.md -->
<!-- agents-md: priority=10 -->
(higher numbers surface earlier)<!-- agents-md: title="My Section" -->
(optional heading hint)Rules: keys are comma/space separated (key=value
); paths start with @
for Claude Code compatibility; resolution is relative to the fragment file.
include
globs.defaultTarget
(nearest).priority
(descending), then by path (stable and deterministic).<!-- source: path -->
and <!-- /source: path -->
comments.AGENTS.md
per selected target with a generated‑file banner.agents-md report --json
for CI and tooling.init
moves content from AGENTS.md
/CLAUDE.md
into fragments, scaffolds config, and creates a root AGENTS.md
when absent.CLAUDE.md
with: @AGENTS.md
(imports generated content).AGENTS.md
? Fragments scale better and enable reuse.AGENTS.md
files? No — start with zero‑config and a single root 'AGENTS.md' generated by init
or compose
.AGENTS.md
standardization efforts.FAQs
A typescript library
We found that agents-md demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.