Classify AI systems, track obligations, and generate compliance docs for Regulation (EU) 2024/1689 — entirely open-source.
Classification wizard |
Compliance dashboard |
Interactive CLI |
Checklist tracking |
eu-ai-act-toolkit/
├── data/ ← Single source of truth (JSON + JSON Schema)
│ ├── questions.json ← Classification decision tree (26 questions, 5 steps)
│ ├── checklists.json ← All checklist items with article references
│ ├── timeline.json ← Enforcement dates
│ ├── articles.json ← Article text and cross-references
│ ├── annexes.json ← Annex III categories
│ ├── examples.json ← 10 worked classification examples
│ ├── penalties.json ← Article 99 penalty tiers
│ ├── standards.json ← Harmonised standards mapping
│ └── schema/ ← JSON Schema validation
├── packages/
│ ├── sdk/ ← @eu-ai-act/sdk — pure TypeScript, zero deps
│ ├── cli/ ← @eu-ai-act/cli — Commander.js + Inquirer
│ └── web/ ← Next.js 14, next-intl (14 languages), Radix UI
├── locales/ ← i18n translation strings
└── docs/ ← Static compliance documents
Three packages, one data layer. All components consume the same data/ directory — updating the regulation means editing JSON, not code.
| Package | What it does |
|---|---|
@eu-ai-act/sdk |
Pure TypeScript library. Zero runtime deps. Classification engine, checklists, templates, timeline. |
@eu-ai-act/cli |
Interactive terminal tool. Classify, checklist, timeline, penalties, gaps, standards, reports. |
| Web App | Static Next.js dashboard. Everything client-side — no backend, no accounts, no data leaves your browser. |
npx @eu-ai-act/cli classifyWalks you through the Act's decision tree and outputs your risk tier, applicable articles, and enforcement deadline.
npx @eu-ai-act/cli checklist high-riskReturns all obligations for a given tier, each citing the specific EU AI Act article.
npx @eu-ai-act/cli generate --tier high-risk --system "My AI System" --provider "Acme Corp" --purpose "Hiring"Outputs pre-structured Markdown templates (technical docs, risk management, data governance, human oversight, and more) with [TODO] placeholders.
npm install @eu-ai-act/sdkimport { classify, getChecklist, getTimeline } from '@eu-ai-act/sdk';
// One function call → know your obligations
const result = classify({
subliminalManipulation: false,
exploitsVulnerabilities: false,
socialScoring: false,
predictivePolicing: false,
untargetedFacialScraping: false,
emotionInferenceWorkplace: false,
biometricCategorization: false,
realtimeBiometrics: false,
isGPAI: false,
annexIProduct: false,
annexIIICategory: 'employment',
interactsWithPersons: true,
generatesSyntheticContent: false,
emotionRecognition: false,
biometricCategorizing: false,
});
result.tier; // 'high-risk'
result.articles; // [6, 9, 10, 11, 12, 13, 14, 15, 16, 17, 26, 27, 43, 49]
result.conformityAssessment // 'self'
result.enforcementDate; // '2026-08-02'
result.reasoning; // Step-by-step explanation
// Get the full checklist for that tier
const checklist = getChecklist(result.tier);
// Get enforcement timeline with countdowns
const timeline = getTimeline();All functions are pure and deterministic — same input, same output, no side effects.
| Function | Signature | Description |
|---|---|---|
classify |
ClassificationInput → ClassificationResult |
Risk classification following Article 5 → GPAI → Annex I/III → limited → minimal precedence |
getChecklist |
RiskTier → ChecklistItem[] |
All obligations for a tier, each citing a specific Article |
getTimeline |
Date? → TimelineEvent[] |
Enforcement milestones with status relative to reference date |
generateTemplate |
(TemplateName, TemplateInput) → string |
Markdown compliance doc (8 templates: tech docs, risk mgmt, data governance, etc.) |
getQuestions |
() → QuestionStep[] |
Decision tree for building classification wizards |
calculateScore |
(ChecklistItem[], Progress) → number |
Compliance score (0–100) from checklist progress |
buildReasoning |
ClassificationResult → string |
Human-readable reasoning chain |
npx @eu-ai-act/cli <command>| Command | Description |
|---|---|
classify |
Interactive risk classification wizard |
checklist <tier> |
Compliance obligations for a risk tier |
timeline |
Enforcement dates and countdowns |
penalties <tier> |
Maximum fine exposure (Art. 99) |
gaps <tier> |
Compliance gap analysis with priority scoring |
standards |
Harmonised standards mapping (ISO, CEN/CENELEC) |
report |
Full compliance report (--format md or --format json) |
templates |
List available documentation templates |
generate |
Generate compliance documentation |
examples |
Worked classification walkthroughs (10 scenarios) |
articles |
Browse EU AI Act articles |
annexes |
Browse Annex III categories |
All commands support --json for machine-readable output.
The Act classifies AI systems into six tiers. Obligations scale with risk.
| Tier | Obligations | Key Articles | Enforcement |
|---|---|---|---|
| Prohibited | Must not be deployed | Art. 5 | Feb 2, 2025 |
| High-Risk | 61 checklist items (risk mgmt, data governance, docs, human oversight, accuracy) | Art. 6–15, 43, 72–73 | Aug 2, 2026 |
| GPAI Systemic | Evaluations, adversarial testing, incident reporting, cybersecurity | Art. 51–55 | Aug 2, 2025 |
| GPAI | Technical docs, copyright compliance, training data summary | Art. 51–53 | Aug 2, 2025 |
| Limited | Transparency: disclose AI interaction, label synthetic content | Art. 50 | Aug 2, 2026 |
| Minimal | Voluntary codes only | — | Aug 2, 2026 |
Penalties: up to 35M EUR or 7% of global turnover.
npx skills add AbdelStark/eu-ai-act-toolkitInstalls 3 skills (classify-ai-system, compliance-checklist, generate-compliance-docs) compatible with Claude Code, Cursor, Copilot, Codex, Windsurf, and 40+ agents.
Clone this repo and these commands are available automatically:
/classify # Classify an AI system's risk tier
/checklist # Show compliance checklist for a tier
/generate-docs # Generate compliance documentation
npx @eu-ai-act/cli classify --annex-iii employment --json # Quick classification
npx @eu-ai-act/cli checklist high-risk --json # Obligations as JSON
npx @eu-ai-act/cli gaps high-risk --json # Gap analysis as JSONgit clone https://github.com/AbdelStark/eu-ai-act-toolkit.git
cd eu-ai-act-toolkit
npm install
npx turbo build # Build SDK → CLI → Web
npx turbo test # Vitest (SDK) + Playwright (Web)
npx turbo dev # Dev server on localhost:3000Monorepo with Turborepo. SDK builds with tsup (ESM + CJS). Web app is Next.js 14 with Tailwind CSS.
| Document | Description |
|---|---|
| SDK README | Full API reference and integration guide |
| CLI README | All commands, flags, and usage patterns |
| AGENTS.md | Architecture and conventions for AI coding agents |
| CONTRIBUTING.md | Development setup and contribution guidelines |
Contributions welcome. See CONTRIBUTING.md. High-impact areas:
- Legal corrections — cite the Article
- Translation review — 14 languages need native speaker verification
- Standards mapping — track CEN/CENELEC JTC 21 publications
- Edge case examples — classification walkthroughs for ambiguous scenarios
This toolkit helps organize and track compliance work. It does not constitute legal advice. Consult qualified legal counsel for compliance decisions. Not affiliated with the European Union or any EU institution.