Getting Started
Agent-first anti-slop project management for TypeScript monorepos
If README.md exists at the repo root, read it first.
Ecosystem
All projects with lintmax in deps are managed by pm4ai (bunx pm4ai@latest). The tool syncs configs, generates CLAUDE.md, enforces conventions, and runs maintenance.
Key repos:
- pm4ai — the management tool. Rules in
apps/docs/content/rules/*.mdx. Checks inpackages/pm4ai/src/. - lintmax — max-strict lint/format orchestrator. All projects depend on it.
- cnsync — canonical source for
readonly/ui(shadcn + ai-elements components).
For full documentation: curl https://pm4ai.vercel.app/llms-full.txt
Managed Files
These files are auto-generated and synced by pm4ai. Never edit them directly:
CLAUDE.md— generated from rules based on project dependencies.github/workflows/ci.yml— universal CI workflowclean.sh— universal cleanup scriptup.sh— universal maintenance cycle (clean + install + build + fix + check)bunfig.toml— bun configuration.gitignore— universal ignore patternsreadonly/ui/— synced from cnsync
Role Detection
Run gh auth status to determine your role:
- If you are the repo owner (
1qh): you can modify pm4ai rules and checks directly in the pm4ai repo - Otherwise: do not edit managed files, only use companion files
Owner Workflow
bunx pm4ai@latest status— check current projectbunx pm4ai@latest fix— sync + maintain (requires clean git)bunx pm4ai@latest fix --all— all projects- New universal rule → add
.mdxto pm4aiapps/docs/content/rules/withinferfrontmatter - New check → add to pm4ai
packages/pm4ai/src/audit.tsorchecks.ts - If you discover something during this session that should apply to all projects, note it for pm4ai
Companion Files
Use these for project-specific content:
LEARNING.md— lessons learned, gotchas, known issuesRULES.md— project-specific rules that don’t apply to other projectsPROGRESS.md— tracking ongoing workPLAN.md— planning and architecture decisions
Health Check
Run bunx pm4ai@latest status to see issues in this project. Run bunx pm4ai@latest fix to sync and maintain.
Check states:
check: passed 5m ago (current)— safe to proceedcheck: passed 3h ago (before 2 commits)— stale, runbunx pm4ai@latest statusagain and wait for refreshcheck: failed 5m ago (current), 15 violations— fix violations before proceedingcheck: running...— wait, do not edit files until completecheck: never run— runbunx pm4ai@latest fixfirst