You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 9bf8841
Browse filesBrowse the repository at this point in the historyBrowse files
1.2.7: kernel types, data source properties, extension members in find
- index the X++ kernel types (QueryBuildDataSource, FormDataObject, xRecord...)
from the resources of bin\Microsoft.Dynamics.AX.Metadata.dll as the
compiled model Kernel, with complete method signatures
- xpp_object: data source behaviour properties and field count;
parent=<data source> lists its fields
- xpp_find "Table.member" also matches members added in extensions of the
table; the base object's members come first
Copy file name to clipboardExpand all lines: README.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,6 +84,7 @@ Settings live in `xpplens.json` next to the `bin` folder and can also be edited
84
84
| full | all non-Microsoft models (detected by `Publisher` in the descriptor) + those in `extraFullModels`| objects, members, method signatures and source, code references (calls incl. chained, types, fields, intrinsics, labels), metadata references |
85
85
| standard | Microsoft models | objects, fields/indexes/relations, method signatures with line ranges, `extends`, CoC and event handlers, and **calls** from method bodies (calls, `new`, intrinsics — no field reads, types or labels; switch off with `--standard-code false`) |
86
86
| compiled | packages deployed without XML (e.g. country localizations or ISV modules shipped in compiled form only) | object names from `bin\*.md`, methods, fields, field groups, relations and **compiler references** from `.xref`, CoC from `ChainOfCommand.xml`, inheritance from `ClassExtends.runtime`, labels from `Resources\<language>\*.resources.dll` — no source code |
87
+
| compiled: `Kernel`| X++ kernel types without XML (`QueryBuildDataSource`, `FormDataObject`, `xRecord`, `Map`, system enums, EDTs and tables) | classes with complete method signatures, base classes, enum values, fields — from the resources of `bin\Microsoft.Dynamics.AX.Metadata.dll`, the metadata the compiler uses |
87
88
88
89
A standard package can be promoted to the full tier (`--add-full-model ApplicationSuite`) if you need every reference
89
90
there (fields, types, labels) and instant `xpp_grep`. The cost is a longer build and a larger database.
@@ -125,7 +126,7 @@ What each MCP tool answers, when Claude should reach for it, and the CLI equival
125
126
| Tool | Answers | Use it when | CLI example |
126
127
|---|---|---|---|
127
128
|`xpp_find`| where objects, methods, fields are (`*`, `?`, `Object.member`, dotted extension names); with `property`: a root property of every object of a type / model | you know a name or part of it; "PublicEntityName of all our entities" |`xpplens find "Cust*Invoice*; SalesLine.createLine"`, `xpplens find "*" --type entity --model Contoso --property PublicEntityName`|
128
-
|`xpp_object`| skeleton of an object: properties with labels, fields, indexes, relations, data sources, control/menu tree, methods with line ranges, extensions | you need the structure, not the code |`xpplens object CustTable --type table`|
129
+
|`xpp_object`| skeleton of an object: properties with labels, fields, indexes, relations, data sources (join, `InsertIfEmpty`, `Allow*`, `LinkType`…, field count; `parent=<data source>` lists its fields), control/menu tree, methods with line ranges, extensions | you need the structure, not the code |`xpplens object CustTable --type table`, `xpplens object SalesTable --type form --parent SalesLine`|
129
130
|`xpp_method`| the source of a method with file path and line range, CoC wrappers and handlers of it | you need the code; for long methods with `match`/`lines`|`xpplens method SalesTable validateWrite --match "checkFailed" --context 2`|
130
131
|`xpp_callers`| who calls a method — custom code first, then compiled packages and Microsoft code; chained calls (`Table::find().m()`) included | impact of a change, "where is this used" |`xpplens callers CustTable creditMax`|
131
132
|`xpp_callees`| what a method uses: calls (chained receivers typed), new, fields, enums, intrinsics, labels | understanding a method without reading it |`xpplens callees SalesFormLetter run`|
Copy file name to clipboardExpand all lines: README.pl.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,6 +84,7 @@ Ustawienia siedzą w `xpplens.json` obok katalogu `bin` — można je też edyto
84
84
| pełny | wszystkie niemicrosoftowe (wykrywane po `Publisher` w deskryptorze) + te z `extraFullModels`| obiekty, składowe, sygnatury i kod metod, referencje w kodzie (wywołania, także łańcuchowe, typy, pola, intrinsics, etykiety), referencje z metadanych |
85
85
| standardowy | modele Microsoftu | obiekty, pola/indeksy/relacje, sygnatury metod z zakresami linii, `extends`, CoC i event handlery oraz **wywołania** z ciał metod (wywołania, `new`, intrinsics — bez odczytów pól, typów i etykiet; wyłączasz przez `--standard-code false`) |
86
86
| skompilowany | pakiety wdrożone bez XML (np. lokalizacje krajowe albo moduły ISV dostarczone tylko w postaci skompilowanej) | nazwy obiektów z `bin\*.md`, metody, pola, grupy pól, relacje i **odwołania z kompilatora** z `.xref`, CoC z `ChainOfCommand.xml`, dziedziczenie z `ClassExtends.runtime`, etykiety z `Resources\<język>\*.resources.dll` — bez kodu źródłowego |
87
+
| skompilowany: `Kernel`| typy jądra X++ bez XML (`QueryBuildDataSource`, `FormDataObject`, `xRecord`, `Map`, systemowe enumy, EDT i tabele) | klasy z pełnymi sygnaturami metod, klasy bazowe, wartości enumów, pola — z zasobów `bin\Microsoft.Dynamics.AX.Metadata.dll`, czyli metadanych, z których korzysta kompilator |
87
88
88
89
Pakiet standardowy można awansować do pełnego (`--add-full-model ApplicationSuite`), jeśli potrzebne są tam wszystkie
89
90
referencje (pola, typy, etykiety) i natychmiastowy `xpp_grep`. Kosztem jest dłuższa budowa i większa baza.
@@ -126,7 +127,7 @@ Na co odpowiada każde narzędzie MCP, kiedy Claude powinien po nie sięgnąć i
126
127
| Narzędzie | Odpowiada na | Kiedy używać | Przykład w CLI |
127
128
|---|---|---|---|
128
129
|`xpp_find`| gdzie są obiekty, metody, pola (`*`, `?`, `Obiekt.składowa`, nazwy rozszerzeń z kropką); z `property`: właściwość główna każdego obiektu danego typu / modelu | znasz nazwę albo jej fragment; „PublicEntityName wszystkich naszych encji” |`xpplens find "Cust*Invoice*; SalesLine.createLine"`, `xpplens find "*" --type entity --model Contoso --property PublicEntityName`|
129
-
|`xpp_object`| szkielet obiektu: właściwości z etykietami, pola, indeksy, relacje, źródła danych, drzewo kontrolek/menu, metody z zakresami linii, rozszerzenia | potrzebna struktura, nie kod |`xpplens object CustTable --type table`|
130
+
|`xpp_object`| szkielet obiektu: właściwości z etykietami, pola, indeksy, relacje, źródła danych (złączenie, `InsertIfEmpty`, `Allow*`, `LinkType`…, liczba pól; `parent=<źródło danych>` wypisuje jego pola), drzewo kontrolek/menu, metody z zakresami linii, rozszerzenia | potrzebna struktura, nie kod |`xpplens object CustTable --type table`, `xpplens object SalesTable --type form --parent SalesLine`|
130
131
|`xpp_method`| kod metody ze ścieżką pliku i zakresem linii, jej wrappery CoC i handlery | potrzebny kod; przy długich metodach z `match`/`lines`|`xpplens method SalesTable validateWrite --match "checkFailed" --context 2`|
131
132
|`xpp_callers`| kto wywołuje metodę — najpierw kod własny, potem pakiety skompilowane i kod Microsoftu; z wywołaniami łańcuchowymi (`Table::find().m()`) | wpływ zmiany, „gdzie to jest używane” |`xpplens callers CustTable creditMax`|
132
133
|`xpp_callees`| czego używa metoda: wywołania (z typem odbiorcy w łańcuchach), new, pola, enumy, intrinsics, etykiety | zrozumienie metody bez czytania jej |`xpplens callees SalesFormLetter run`|
0 commit comments