|
| 1 | +# Frappe Skill Package — Gap Analysis v3.0 |
| 2 | + |
| 3 | +> **Doel**: Identificeer alle resterende gaps na v2.0 (53 skills) |
| 4 | +> **Datum**: 2026-03-20 |
| 5 | +> **Huidige dekking**: ~85% van Frappe Framework surface area |
| 6 | +> **Doeldekking v3.0**: ~95% |
| 7 | +
|
| 8 | +--- |
| 9 | + |
| 10 | +## Methodologie |
| 11 | + |
| 12 | +Na voltooiing van v2.0 (53 skills) is een frisse gap analysis uitgevoerd tegen de volledige Frappe Framework documentatie (docs.frappe.io). Elke capability is geclassificeerd als: |
| 13 | + |
| 14 | +- **MISSING** — Niet in enige skill, moet nieuw gecreëerd |
| 15 | +- **PARTIAL** — Wel geraakt maar niet diep genoeg, bestaande skill uitbreiden |
| 16 | +- **COVERED** — Adequaat gedekt, geen actie |
| 17 | + |
| 18 | +--- |
| 19 | + |
| 20 | +## 1. Nieuwe Skills Nodig (MISSING) |
| 21 | + |
| 22 | +### P0 — Hoge impact, frequent nodig |
| 23 | + |
| 24 | +| # | Voorgestelde Skill | Scope | Rationale | |
| 25 | +|---|-------------------|-------|-----------| |
| 26 | +| 1 | `frappe-core-translation` | Translation/i18n systeem: `_()` en `__()`, CSV translation files, `bench get-untranslated`, `bench update-translations`, custom app vertalingen, string extractie regels, context parameter, RTL support | **HOOGSTE GAP**: Ieder meertalig project heeft dit nodig. Claude kent de string format regels niet (geen f-strings, geen concatenatie). | |
| 27 | +| 2 | `frappe-core-utils` | Geconsolideerde referentie voor frappe.utils.*: 40+ Python utility functies (money_in_words, comma_and, pretty_date, format_duration, validate_email, mask_string, etc.) + frappe.utils JS utilities | Claude heruitvindt constant functies die al bestaan in frappe.utils. | |
| 28 | + |
| 29 | +### P1 — Medium impact |
| 30 | + |
| 31 | +| # | Voorgestelde Skill | Scope | Rationale | |
| 32 | +|---|-------------------|-------|-----------| |
| 33 | +| 3 | `frappe-syntax-print` | Print systeem: Print Format Builder, Jinja Print Formats, Print Designer [v15+], Letter Head, get_pdf(), Report Print Formats ({%= %}), page breaks, styling | Geen dedicated print skill ondanks dat het in elk project voorkomt | |
| 34 | +| 4 | `frappe-syntax-query-builder` | Dedicated frappe.qb referentie: from_(), DocType(), Field(), joins, CustomFunction, ConstantColumn, ImportMapper, cross-DB compatibility, .run() vs .walk() | Te groot voor sub-sectie in database skill, eigen paradigma | |
| 35 | +| 5 | `frappe-impl-workspace` | Workspace/Desk customization: Workspace DocType, shortcuts, charts, number cards, links, custom workspace creation, JSON format | Iedere app levert een workspace, geen guidance | |
| 36 | + |
| 37 | +### P2 — Lage impact, specialistisch |
| 38 | + |
| 39 | +| # | Voorgestelde Skill | Scope | Rationale | |
| 40 | +|---|-------------------|-------|-----------| |
| 41 | +| 6 | `frappe-core-logging` | Structured logging: frappe.logger(), log levels, log rotation, cleanup, monitoring integration, production logging patterns | Basis staat in agent-debugger maar productie patterns ontbreken | |
| 42 | +| 7 | `frappe-core-search` | Full-text search: FullTextSearch API, global_search, search hooks, Awesomebar customization, search_fields | Volledig afwezig | |
| 43 | + |
| 44 | +--- |
| 45 | + |
| 46 | +## 2. Bestaande Skills Uitbreiden (PARTIAL) |
| 47 | + |
| 48 | +| # | Skill | Wat Ontbreekt | Actie | |
| 49 | +|---|-------|--------------|-------| |
| 50 | +| 1 | `frappe-core-database` | Query Builder (frappe.qb) te oppervlakkig | Als P1-4 gemaakt wordt: cross-ref toevoegen. Anders: expand references/query-patterns.md | |
| 51 | +| 2 | `frappe-impl-ui-components` | Controls API (make_control standalone), dropdown_button, before_render, Tree View API | Voeg references/controls-api.md en references/tree-view.md toe | |
| 52 | +| 3 | `frappe-impl-website` | Portal Generators (auto web pages from DocTypes), Blog systeem | Voeg references/generators.md toe | |
| 53 | +| 4 | `frappe-impl-jinja` | Print Designer [v15+] decision tree vs Jinja | Voeg sectie toe in SKILL.md of references/ | |
| 54 | +| 5 | `frappe-core-notifications` | Email Account setup, Email Queue, email-to-document linking, bulk email | Voeg references/email-system.md toe | |
| 55 | +| 6 | `frappe-ops-app-lifecycle` | Module Def configuratie, Workspace JSON shipping | Voeg secties toe | |
| 56 | +| 7 | `frappe-syntax-controllers` | Document API completeness (20+ methods verspreid over meerdere skills) | Voeg references/document-api-complete.md toe | |
| 57 | +| 8 | `frappe-ops-bench` | Custom bench commands (via `commands` hook) | Voeg sectie toe | |
| 58 | +| 9 | `frappe-syntax-hooks` | Router API (frappe.get_route, route events), Request lifecycle | Voeg references/request-lifecycle.md toe | |
| 59 | +| 10 | `frappe-agent-debugger` | Frappe-specific debugging setup (VS Code DAP, bench console advanced) | Expand references/checklists.md | |
| 60 | +| 11 | `frappe-ops-upgrades` | Frappe Packages (deployable customization bundles) | Voeg sectie toe | |
| 61 | +| 12 | `frappe-syntax-doctypes` | Data Masking [v16+] verdieping, frappe.types module reference | Voeg references/data-masking.md en references/type-stubs.md toe | |
| 62 | + |
| 63 | +--- |
| 64 | + |
| 65 | +## 3. Bewust Niet Gedekt (Out of Scope) |
| 66 | + |
| 67 | +| Feature | Reden | |
| 68 | +|---------|-------| |
| 69 | +| Frappe HR / HRMS | Apart app, niet core framework | |
| 70 | +| Frappe LMS | Apart app | |
| 71 | +| Frappe Insights | Apart app | |
| 72 | +| Frappe CRM | Apart app | |
| 73 | +| Energy Points / Gamification | Niche feature, weinig development patterns | |
| 74 | +| Discussions (portal) | Simpel DocType, weinig code patterns | |
| 75 | +| Form Tours | Niche UI feature | |
| 76 | +| Scanner API | Niche, alleen voor POS/warehouse | |
| 77 | + |
| 78 | +--- |
| 79 | + |
| 80 | +## 4. V3.0 Scope Samenvatting |
| 81 | + |
| 82 | +| Categorie | Nieuwe Skills | Uitbreidingen | |
| 83 | +|-----------|:------------:|:-------------:| |
| 84 | +| Nieuwe skills | 7 | — | |
| 85 | +| Bestaande uitbreidingen | — | 12 | |
| 86 | +| **Totaal na v3.0** | **60 skills** | **+ 12 enhanced** | |
| 87 | + |
| 88 | +### Verwachte dekking na v3.0: ~95% |
| 89 | + |
| 90 | +| Versie | Skills | Dekking | |
| 91 | +|--------|:------:|:-------:| |
| 92 | +| v1.2 | 28 | ~16% | |
| 93 | +| v2.0 | 53 | ~85% | |
| 94 | +| **v3.0** | **60** | **~95%** | |
| 95 | + |
| 96 | +--- |
| 97 | + |
| 98 | +## 5. V3.0 Fasen (Voorgesteld) |
| 99 | + |
| 100 | +| Fase | Beschrijving | |
| 101 | +|------|-------------| |
| 102 | +| V3.1 | Research: Frappe docs deep-dive voor 7 nieuwe skills | |
| 103 | +| V3.2 | Nieuwe skills creëren (P0 eerst: translation, utils) | |
| 104 | +| V3.3 | 12 bestaande skills uitbreiden met extra references | |
| 105 | +| V3.4 | Validatie + INDEX.md + README.md update | |
| 106 | +| V3.5 | Release v3.0.0 | |
| 107 | + |
| 108 | +### V3 Prioriteit Volgorde |
| 109 | + |
| 110 | +``` |
| 111 | +P0 (sessie 1): frappe-core-translation + frappe-core-utils |
| 112 | +P1 (sessie 2): frappe-syntax-print + frappe-syntax-query-builder + frappe-impl-workspace |
| 113 | +P2 (sessie 3): frappe-core-logging + frappe-core-search |
| 114 | +Uitbreidingen (sessie 3-4): 12 bestaande skills verrijken |
| 115 | +``` |
0 commit comments