logicstamp-context 0.5.1 → 0.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LLM_CONTEXT.md +3 -3
- package/README.md +58 -47
- package/dist/cli/commands/context/tokenEstimator.d.ts.map +1 -1
- package/dist/cli/commands/context/tokenEstimator.js +13 -4
- package/dist/cli/commands/context/tokenEstimator.js.map +1 -1
- package/dist/cli/commands/context.d.ts +1 -1
- package/dist/cli/commands/context.js +4 -4
- package/dist/cli/commands/context.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/parser/helpText.js +2 -2
- package/dist/core/astParser/detectors.d.ts.map +1 -1
- package/dist/core/astParser/detectors.js +18 -4
- package/dist/core/astParser/detectors.js.map +1 -1
- package/dist/core/astParser.d.ts +1 -1
- package/dist/core/astParser.d.ts.map +1 -1
- package/dist/core/astParser.js +5 -3
- package/dist/core/astParser.js.map +1 -1
- package/dist/core/pack/collector.d.ts.map +1 -1
- package/dist/core/pack/collector.js +3 -2
- package/dist/core/pack/collector.js.map +1 -1
- package/dist/core/pack/loader.d.ts +37 -4
- package/dist/core/pack/loader.d.ts.map +1 -1
- package/dist/core/pack/loader.js +92 -32
- package/dist/core/pack/loader.js.map +1 -1
- package/dist/core/pack/resolver.d.ts.map +1 -1
- package/dist/core/pack/resolver.js +4 -3
- package/dist/core/pack/resolver.js.map +1 -1
- package/dist/core/pack.d.ts.map +1 -1
- package/dist/core/pack.js +20 -4
- package/dist/core/pack.js.map +1 -1
- package/dist/extractors/express/expressExtractor.d.ts.map +1 -1
- package/dist/extractors/express/expressExtractor.js +12 -5
- package/dist/extractors/express/expressExtractor.js.map +1 -1
- package/dist/extractors/react/hookParameterExtractor.js +4 -4
- package/dist/extractors/react/hookParameterExtractor.js.map +1 -1
- package/dist/extractors/react/propExtractor.d.ts.map +1 -1
- package/dist/extractors/react/propExtractor.js +33 -27
- package/dist/extractors/react/propExtractor.js.map +1 -1
- package/dist/extractors/styling/chakra.d.ts.map +1 -1
- package/dist/extractors/styling/chakra.js +2 -1
- package/dist/extractors/styling/chakra.js.map +1 -1
- package/dist/extractors/styling/motion.d.ts.map +1 -1
- package/dist/extractors/styling/motion.js +10 -6
- package/dist/extractors/styling/motion.js.map +1 -1
- package/dist/extractors/styling/shadcn.d.ts.map +1 -1
- package/dist/extractors/styling/shadcn.js +2 -4
- package/dist/extractors/styling/shadcn.js.map +1 -1
- package/dist/extractors/styling/styleExtractor.d.ts +1 -1
- package/dist/extractors/styling/styleExtractor.d.ts.map +1 -1
- package/dist/extractors/styling/styleExtractor.js +6 -5
- package/dist/extractors/styling/styleExtractor.js.map +1 -1
- package/dist/extractors/styling/tailwind.d.ts.map +1 -1
- package/dist/extractors/styling/tailwind.js +4 -12
- package/dist/extractors/styling/tailwind.js.map +1 -1
- package/dist/extractors/vue/componentExtractor.d.ts.map +1 -1
- package/dist/extractors/vue/componentExtractor.js +8 -1
- package/dist/extractors/vue/componentExtractor.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/tokens.d.ts +6 -0
- package/dist/utils/tokens.d.ts.map +1 -1
- package/dist/utils/tokens.js +22 -0
- package/dist/utils/tokens.js.map +1 -1
- package/package.json +2 -2
- package/schema/logicstamp.context.schema.json +270 -3
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
3
|
"$id": "https://logicstamp.dev/schemas/context/v0.1.json",
|
|
4
4
|
"title": "LogicStamp Context Bundle",
|
|
5
|
-
"description": "JSON Schema for LogicStamp Context bundles - AI-ready documentation of
|
|
5
|
+
"description": "JSON Schema for LogicStamp Context bundles - AI-ready documentation of TypeScript codebases. Each bundle represents component contracts, dependency graphs, and metadata. For detailed documentation on the meta.missing field and dependency resolution, see README.md 'Understanding the Meta Field' section.",
|
|
6
6
|
"type": "array",
|
|
7
7
|
"items": {
|
|
8
8
|
"$ref": "#/definitions/LogicStampBundle"
|
|
@@ -207,6 +207,10 @@
|
|
|
207
207
|
"$ref": "#/definitions/StyleMetadata",
|
|
208
208
|
"description": "Optional style metadata (only when --include-style is used)"
|
|
209
209
|
},
|
|
210
|
+
"nextjs": {
|
|
211
|
+
"$ref": "#/definitions/NextJSMetadata",
|
|
212
|
+
"description": "Optional Next.js App Router metadata (route roles, segment paths, metadata exports)"
|
|
213
|
+
},
|
|
210
214
|
"exports": {
|
|
211
215
|
"oneOf": [
|
|
212
216
|
{
|
|
@@ -701,7 +705,6 @@
|
|
|
701
705
|
"description": "CSS properties found in the extracted CSS"
|
|
702
706
|
}
|
|
703
707
|
},
|
|
704
|
-
"required": ["css"],
|
|
705
708
|
"additionalProperties": false
|
|
706
709
|
},
|
|
707
710
|
"styledComponents": {
|
|
@@ -758,7 +761,6 @@
|
|
|
758
761
|
"description": "Uses viewport-triggered animations (useInView, viewport)"
|
|
759
762
|
}
|
|
760
763
|
},
|
|
761
|
-
"required": ["gestures", "layoutAnimations", "viewportAnimations"],
|
|
762
764
|
"additionalProperties": false
|
|
763
765
|
}
|
|
764
766
|
},
|
|
@@ -811,6 +813,231 @@
|
|
|
811
813
|
},
|
|
812
814
|
"required": ["features"],
|
|
813
815
|
"additionalProperties": false
|
|
816
|
+
},
|
|
817
|
+
"antd": {
|
|
818
|
+
"type": "object",
|
|
819
|
+
"properties": {
|
|
820
|
+
"components": {
|
|
821
|
+
"type": "array",
|
|
822
|
+
"items": {
|
|
823
|
+
"type": "string"
|
|
824
|
+
},
|
|
825
|
+
"description": "Ant Design component names used (e.g., ['Button', 'Input', 'Form', 'Table'])"
|
|
826
|
+
},
|
|
827
|
+
"packages": {
|
|
828
|
+
"type": "array",
|
|
829
|
+
"items": {
|
|
830
|
+
"type": "string"
|
|
831
|
+
},
|
|
832
|
+
"description": "Ant Design packages imported (e.g., ['antd', '@ant-design/icons'])"
|
|
833
|
+
},
|
|
834
|
+
"features": {
|
|
835
|
+
"type": "object",
|
|
836
|
+
"properties": {
|
|
837
|
+
"usesTheme": {
|
|
838
|
+
"type": "boolean",
|
|
839
|
+
"description": "Uses theme (theme, useToken, getDesignToken)"
|
|
840
|
+
},
|
|
841
|
+
"usesConfigProvider": {
|
|
842
|
+
"type": "boolean",
|
|
843
|
+
"description": "Uses ConfigProvider for global configuration"
|
|
844
|
+
},
|
|
845
|
+
"usesForm": {
|
|
846
|
+
"type": "boolean",
|
|
847
|
+
"description": "Uses Form component with validation"
|
|
848
|
+
},
|
|
849
|
+
"usesLocale": {
|
|
850
|
+
"type": "boolean",
|
|
851
|
+
"description": "Uses internationalization (useLocale, getLocale)"
|
|
852
|
+
},
|
|
853
|
+
"usesIcons": {
|
|
854
|
+
"type": "boolean",
|
|
855
|
+
"description": "Uses @ant-design/icons"
|
|
856
|
+
}
|
|
857
|
+
},
|
|
858
|
+
"additionalProperties": false
|
|
859
|
+
}
|
|
860
|
+
},
|
|
861
|
+
"required": ["features"],
|
|
862
|
+
"additionalProperties": false
|
|
863
|
+
},
|
|
864
|
+
"chakraUI": {
|
|
865
|
+
"type": "object",
|
|
866
|
+
"properties": {
|
|
867
|
+
"components": {
|
|
868
|
+
"type": "array",
|
|
869
|
+
"items": {
|
|
870
|
+
"type": "string"
|
|
871
|
+
},
|
|
872
|
+
"description": "Chakra UI component names used (e.g., ['Box', 'Button', 'Input', 'FormControl'])"
|
|
873
|
+
},
|
|
874
|
+
"packages": {
|
|
875
|
+
"type": "array",
|
|
876
|
+
"items": {
|
|
877
|
+
"type": "string"
|
|
878
|
+
},
|
|
879
|
+
"description": "Chakra UI packages imported (e.g., ['@chakra-ui/react', '@chakra-ui/icons'])"
|
|
880
|
+
},
|
|
881
|
+
"features": {
|
|
882
|
+
"type": "object",
|
|
883
|
+
"properties": {
|
|
884
|
+
"usesTheme": {
|
|
885
|
+
"type": "boolean",
|
|
886
|
+
"description": "Uses theme (useTheme, extendTheme, createTheme)"
|
|
887
|
+
},
|
|
888
|
+
"usesColorMode": {
|
|
889
|
+
"type": "boolean",
|
|
890
|
+
"description": "Uses color mode (useColorMode, useColorModeValue, dark/light mode)"
|
|
891
|
+
},
|
|
892
|
+
"usesResponsiveProps": {
|
|
893
|
+
"type": "boolean",
|
|
894
|
+
"description": "Uses responsive props (array syntax [base, md, lg])"
|
|
895
|
+
},
|
|
896
|
+
"usesSystemProps": {
|
|
897
|
+
"type": "boolean",
|
|
898
|
+
"description": "Uses system props on Box/Stack/Flex components"
|
|
899
|
+
}
|
|
900
|
+
},
|
|
901
|
+
"additionalProperties": false
|
|
902
|
+
}
|
|
903
|
+
},
|
|
904
|
+
"required": ["features"],
|
|
905
|
+
"additionalProperties": false
|
|
906
|
+
},
|
|
907
|
+
"shadcnUI": {
|
|
908
|
+
"type": "object",
|
|
909
|
+
"properties": {
|
|
910
|
+
"components": {
|
|
911
|
+
"type": "array",
|
|
912
|
+
"items": {
|
|
913
|
+
"type": "string"
|
|
914
|
+
},
|
|
915
|
+
"description": "ShadCN/UI component names used (e.g., ['Button', 'Card', 'Dialog', 'Sheet'])"
|
|
916
|
+
},
|
|
917
|
+
"variants": {
|
|
918
|
+
"type": "object",
|
|
919
|
+
"additionalProperties": {
|
|
920
|
+
"type": "array",
|
|
921
|
+
"items": {
|
|
922
|
+
"type": "string"
|
|
923
|
+
}
|
|
924
|
+
},
|
|
925
|
+
"description": "Variant usage per component type (e.g., { button: ['default', 'outline'], badge: ['secondary'] })"
|
|
926
|
+
},
|
|
927
|
+
"sizes": {
|
|
928
|
+
"type": "array",
|
|
929
|
+
"items": {
|
|
930
|
+
"type": "string"
|
|
931
|
+
},
|
|
932
|
+
"description": "Size prop values used (e.g., ['sm', 'lg', 'icon'])"
|
|
933
|
+
},
|
|
934
|
+
"features": {
|
|
935
|
+
"type": "object",
|
|
936
|
+
"properties": {
|
|
937
|
+
"usesForm": {
|
|
938
|
+
"type": "boolean",
|
|
939
|
+
"description": "Uses react-hook-form integration"
|
|
940
|
+
},
|
|
941
|
+
"usesTheme": {
|
|
942
|
+
"type": "boolean",
|
|
943
|
+
"description": "Uses theme (next-themes or dark mode)"
|
|
944
|
+
},
|
|
945
|
+
"usesIcons": {
|
|
946
|
+
"type": "boolean",
|
|
947
|
+
"description": "Uses icons (lucide-react or radix icons)"
|
|
948
|
+
},
|
|
949
|
+
"componentDensity": {
|
|
950
|
+
"type": "string",
|
|
951
|
+
"enum": ["low", "medium", "high"],
|
|
952
|
+
"description": "Number of ShadCN components used"
|
|
953
|
+
}
|
|
954
|
+
},
|
|
955
|
+
"additionalProperties": false
|
|
956
|
+
}
|
|
957
|
+
},
|
|
958
|
+
"required": ["features"],
|
|
959
|
+
"additionalProperties": false
|
|
960
|
+
},
|
|
961
|
+
"radixUI": {
|
|
962
|
+
"type": "object",
|
|
963
|
+
"properties": {
|
|
964
|
+
"primitives": {
|
|
965
|
+
"type": "object",
|
|
966
|
+
"additionalProperties": {
|
|
967
|
+
"type": "array",
|
|
968
|
+
"items": {
|
|
969
|
+
"type": "string"
|
|
970
|
+
}
|
|
971
|
+
},
|
|
972
|
+
"description": "Primitive components by package (e.g., { 'react-dialog': ['Dialog', 'DialogContent'], 'react-popover': ['Popover', 'PopoverTrigger'] })"
|
|
973
|
+
},
|
|
974
|
+
"patterns": {
|
|
975
|
+
"type": "object",
|
|
976
|
+
"properties": {
|
|
977
|
+
"controlled": {
|
|
978
|
+
"type": "array",
|
|
979
|
+
"items": {
|
|
980
|
+
"type": "string"
|
|
981
|
+
},
|
|
982
|
+
"description": "Components using controlled pattern"
|
|
983
|
+
},
|
|
984
|
+
"uncontrolled": {
|
|
985
|
+
"type": "array",
|
|
986
|
+
"items": {
|
|
987
|
+
"type": "string"
|
|
988
|
+
},
|
|
989
|
+
"description": "Components using uncontrolled pattern"
|
|
990
|
+
},
|
|
991
|
+
"portals": {
|
|
992
|
+
"type": "number",
|
|
993
|
+
"description": "Portal usage count"
|
|
994
|
+
},
|
|
995
|
+
"asChild": {
|
|
996
|
+
"type": "number",
|
|
997
|
+
"description": "asChild composition pattern count"
|
|
998
|
+
}
|
|
999
|
+
},
|
|
1000
|
+
"additionalProperties": false
|
|
1001
|
+
},
|
|
1002
|
+
"accessibility": {
|
|
1003
|
+
"type": "object",
|
|
1004
|
+
"properties": {
|
|
1005
|
+
"usesDirection": {
|
|
1006
|
+
"type": "boolean",
|
|
1007
|
+
"description": "Uses RTL/LTR support"
|
|
1008
|
+
},
|
|
1009
|
+
"usesFocusManagement": {
|
|
1010
|
+
"type": "boolean",
|
|
1011
|
+
"description": "Uses focus trapping"
|
|
1012
|
+
},
|
|
1013
|
+
"usesKeyboardNav": {
|
|
1014
|
+
"type": "boolean",
|
|
1015
|
+
"description": "Uses keyboard navigation (loop, orientation, etc.)"
|
|
1016
|
+
},
|
|
1017
|
+
"usesModal": {
|
|
1018
|
+
"type": "boolean",
|
|
1019
|
+
"description": "Uses modal dialogs"
|
|
1020
|
+
}
|
|
1021
|
+
},
|
|
1022
|
+
"additionalProperties": false
|
|
1023
|
+
},
|
|
1024
|
+
"features": {
|
|
1025
|
+
"type": "object",
|
|
1026
|
+
"properties": {
|
|
1027
|
+
"primitiveCount": {
|
|
1028
|
+
"type": "number",
|
|
1029
|
+
"description": "Total unique primitives used"
|
|
1030
|
+
},
|
|
1031
|
+
"compositionDepth": {
|
|
1032
|
+
"type": "string",
|
|
1033
|
+
"enum": ["simple", "moderate", "complex"],
|
|
1034
|
+
"description": "Composition complexity"
|
|
1035
|
+
}
|
|
1036
|
+
},
|
|
1037
|
+
"additionalProperties": false
|
|
1038
|
+
}
|
|
1039
|
+
},
|
|
1040
|
+
"additionalProperties": false
|
|
814
1041
|
}
|
|
815
1042
|
},
|
|
816
1043
|
"additionalProperties": false
|
|
@@ -915,6 +1142,46 @@
|
|
|
915
1142
|
}
|
|
916
1143
|
},
|
|
917
1144
|
"additionalProperties": false
|
|
1145
|
+
},
|
|
1146
|
+
"NextJSMetadata": {
|
|
1147
|
+
"type": "object",
|
|
1148
|
+
"properties": {
|
|
1149
|
+
"isInAppDir": {
|
|
1150
|
+
"type": "boolean",
|
|
1151
|
+
"description": "Whether the file is in the Next.js App Router directory (/app/)"
|
|
1152
|
+
},
|
|
1153
|
+
"directive": {
|
|
1154
|
+
"type": "string",
|
|
1155
|
+
"enum": ["client", "server"],
|
|
1156
|
+
"description": "Next.js directive ('use client' or 'use server')"
|
|
1157
|
+
},
|
|
1158
|
+
"routeRole": {
|
|
1159
|
+
"type": "string",
|
|
1160
|
+
"enum": ["page", "layout", "loading", "error", "not-found", "template", "default", "route"],
|
|
1161
|
+
"description": "Route role in Next.js App Router (page, layout, loading, error, not-found, template, default, route)"
|
|
1162
|
+
},
|
|
1163
|
+
"segmentPath": {
|
|
1164
|
+
"type": "string",
|
|
1165
|
+
"description": "Route path derived from file structure (e.g., '/blog/[slug]', '/api/users')"
|
|
1166
|
+
},
|
|
1167
|
+
"metadata": {
|
|
1168
|
+
"type": "object",
|
|
1169
|
+
"properties": {
|
|
1170
|
+
"static": {
|
|
1171
|
+
"type": "object",
|
|
1172
|
+
"additionalProperties": true,
|
|
1173
|
+
"description": "Static metadata from `export const metadata = {...}`"
|
|
1174
|
+
},
|
|
1175
|
+
"dynamic": {
|
|
1176
|
+
"type": "boolean",
|
|
1177
|
+
"description": "True if `export function generateMetadata()` exists"
|
|
1178
|
+
}
|
|
1179
|
+
},
|
|
1180
|
+
"additionalProperties": false,
|
|
1181
|
+
"description": "Next.js metadata exports (static and dynamic)"
|
|
1182
|
+
}
|
|
1183
|
+
},
|
|
1184
|
+
"additionalProperties": false
|
|
918
1185
|
}
|
|
919
1186
|
}
|
|
920
1187
|
}
|