@contractspec/example.learning-journey-ui-gamified 3.7.6 → 3.7.10

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.
Files changed (57) hide show
  1. package/.turbo/turbo-build.log +5 -5
  2. package/AGENTS.md +50 -25
  3. package/CHANGELOG.md +32 -0
  4. package/README.md +63 -20
  5. package/dist/GamifiedMiniApp.js +246 -246
  6. package/dist/browser/GamifiedMiniApp.js +246 -246
  7. package/dist/browser/components/DayCalendar.js +1 -1
  8. package/dist/browser/components/FlashCard.js +6 -6
  9. package/dist/browser/components/MasteryRing.js +1 -1
  10. package/dist/browser/components/index.js +100 -100
  11. package/dist/browser/index.js +247 -246
  12. package/dist/browser/views/Overview.js +16 -16
  13. package/dist/browser/views/Progress.js +7 -7
  14. package/dist/browser/views/Steps.js +8 -8
  15. package/dist/browser/views/Timeline.js +8 -8
  16. package/dist/browser/views/index.js +242 -242
  17. package/dist/components/DayCalendar.js +1 -1
  18. package/dist/components/FlashCard.js +6 -6
  19. package/dist/components/MasteryRing.js +1 -1
  20. package/dist/components/index.d.ts +1 -1
  21. package/dist/components/index.js +100 -100
  22. package/dist/index.d.ts +3 -3
  23. package/dist/index.js +247 -246
  24. package/dist/node/GamifiedMiniApp.js +246 -246
  25. package/dist/node/components/DayCalendar.js +1 -1
  26. package/dist/node/components/FlashCard.js +6 -6
  27. package/dist/node/components/MasteryRing.js +1 -1
  28. package/dist/node/components/index.js +100 -100
  29. package/dist/node/index.js +247 -246
  30. package/dist/node/views/Overview.js +16 -16
  31. package/dist/node/views/Progress.js +7 -7
  32. package/dist/node/views/Steps.js +8 -8
  33. package/dist/node/views/Timeline.js +8 -8
  34. package/dist/node/views/index.js +242 -242
  35. package/dist/views/Overview.js +16 -16
  36. package/dist/views/Progress.js +7 -7
  37. package/dist/views/Steps.js +8 -8
  38. package/dist/views/Timeline.js +8 -8
  39. package/dist/views/index.d.ts +1 -1
  40. package/dist/views/index.js +242 -242
  41. package/package.json +12 -12
  42. package/src/GamifiedMiniApp.tsx +70 -70
  43. package/src/components/DayCalendar.tsx +41 -41
  44. package/src/components/FlashCard.tsx +83 -83
  45. package/src/components/MasteryRing.tsx +64 -64
  46. package/src/components/index.ts +1 -1
  47. package/src/docs/learning-journey-ui-gamified.docblock.ts +11 -11
  48. package/src/example.ts +25 -25
  49. package/src/index.ts +5 -6
  50. package/src/learning-journey-ui-gamified.feature.ts +12 -12
  51. package/src/views/Overview.tsx +145 -145
  52. package/src/views/Progress.tsx +167 -167
  53. package/src/views/Steps.tsx +40 -40
  54. package/src/views/Timeline.tsx +177 -177
  55. package/src/views/index.ts +1 -1
  56. package/tsconfig.json +7 -8
  57. package/tsdown.config.js +7 -13
@@ -3,12 +3,12 @@ $ bun run prebuild && bun run build:bundle && bun run build:types
3
3
  $ contractspec-bun-build prebuild
4
4
  $ contractspec-bun-build transpile
5
5
  [contractspec-bun-build] transpile target=bun root=src entries=15 noBundle=false
6
- Bundled 15 modules in 29ms
6
+ Bundled 15 modules in 52ms
7
7
 
8
8
  ./GamifiedMiniApp.js 43.40 KB (entry point)
9
9
  ./index.js 45.81 KB (entry point)
10
10
  ./learning-journey-ui-gamified.feature.js 0.64 KB (entry point)
11
- views/index.js 40.69 KB (entry point)
11
+ views/index.js 40.68 KB (entry point)
12
12
  views/Overview.js 10.46 KB (entry point)
13
13
  views/Progress.js 11.97 KB (entry point)
14
14
  views/Steps.js 6.49 KB (entry point)
@@ -22,7 +22,7 @@ Bundled 15 modules in 29ms
22
22
  ./example.js 0.93 KB (entry point)
23
23
 
24
24
  [contractspec-bun-build] transpile target=node root=src entries=15 noBundle=false
25
- Bundled 15 modules in 43ms
25
+ Bundled 15 modules in 82ms
26
26
 
27
27
  ./GamifiedMiniApp.js 43.37 KB (entry point)
28
28
  ./index.js 45.78 KB (entry point)
@@ -32,7 +32,7 @@ Bundled 15 modules in 43ms
32
32
  views/Progress.js 11.96 KB (entry point)
33
33
  views/Steps.js 6.48 KB (entry point)
34
34
  views/Timeline.js 11.51 KB (entry point)
35
- components/index.js 8.93 KB (entry point)
35
+ components/index.js 8.94 KB (entry point)
36
36
  components/DayCalendar.js 1.91 KB (entry point)
37
37
  components/FlashCard.js 4.39 KB (entry point)
38
38
  components/MasteryRing.js 2.60 KB (entry point)
@@ -51,7 +51,7 @@ Bundled 15 modules in 49ms
51
51
  views/Progress.js 11.96 KB (entry point)
52
52
  views/Steps.js 6.48 KB (entry point)
53
53
  views/Timeline.js 11.51 KB (entry point)
54
- components/index.js 8.93 KB (entry point)
54
+ components/index.js 8.94 KB (entry point)
55
55
  components/DayCalendar.js 1.91 KB (entry point)
56
56
  components/FlashCard.js 4.39 KB (entry point)
57
57
  components/MasteryRing.js 2.60 KB (entry point)
package/AGENTS.md CHANGED
@@ -1,34 +1,59 @@
1
- # AI Agent Guide -- `@contractspec/example.learning-journey-ui-gamified`
1
+ # AI Agent Guide `@contractspec/example.learning-journey-ui-gamified`
2
2
 
3
3
  Scope: `packages/examples/learning-journey-ui-gamified/*`
4
4
 
5
- Demonstrates a Duolingo-style gamified learning UI with drills, quests, flash cards, and mastery rings.
5
+ Duolingo-style gamified learning UI for drills and quests.
6
6
 
7
7
  ## Quick Context
8
8
 
9
- - **Layer**: example
10
- - **Related Packages**: `module.learning-journey`, `lib.contracts-spec`, `lib.design-system`, `lib.ui-kit-web`, `example.learning-journey-ui-shared`, `example.learning-journey-duo-drills`, `example.learning-journey-quest-challenges`
11
-
12
- ## What This Demonstrates
13
-
14
- - GamifiedMiniApp as a self-contained React application
15
- - FlashCard, DayCalendar, and MasteryRing components
16
- - Multi-view layout (Overview, Progress, Steps, Timeline)
17
- - Integration with duo-drills and quest-challenges tracks
18
- - Design system and UI kit usage patterns
19
-
20
- ## Public Exports
21
-
22
- - `.` -- root barrel
23
- - `./GamifiedMiniApp` -- main mini-app component
24
- - `./components` -- FlashCard, DayCalendar, MasteryRing
25
- - `./views` -- Overview, Progress, Steps, Timeline views
26
- - `./docs` -- DocBlock documentation
27
- - `./example` -- runnable example entry point
9
+ - Layer: `example`.
10
+ - Package visibility: published package.
11
+ - Primary consumers are example explorers, template authors, and documentation readers.
12
+ - Related packages: `@contractspec/example.learning-journey-duo-drills`, `@contractspec/example.learning-journey-quest-challenges`, `@contractspec/example.learning-journey-ui-shared`, `@contractspec/lib.contracts-spec`, `@contractspec/lib.design-system`, `@contractspec/lib.ui-kit-web`, ...
13
+
14
+ ## Architecture
15
+
16
+ - `src/components/` contains reusable UI components and view composition.
17
+ - `src/docs/` contains docblocks and documentation-facing exports.
18
+ - `src/example.ts` is the runnable example entrypoint.
19
+ - `src/GamifiedMiniApp.tsx` is part of the package's public or composition surface.
20
+ - `src/index.ts` is the root public barrel and package entrypoint.
21
+ - `src/learning-journey-ui-gamified.feature.ts` defines a feature entrypoint.
22
+ - `src/views/` contains view-level composition.
23
+
24
+ ## Public Surface
25
+
26
+ - Export `.` resolves through `./src/index.ts`.
27
+ - Export `./components` resolves through `./src/components/index.ts`.
28
+ - Export `./components/DayCalendar` resolves through `./src/components/DayCalendar.tsx`.
29
+ - Export `./components/FlashCard` resolves through `./src/components/FlashCard.tsx`.
30
+ - Export `./components/MasteryRing` resolves through `./src/components/MasteryRing.tsx`.
31
+ - Export `./docs` resolves through `./src/docs/index.ts`.
32
+ - Export `./docs/learning-journey-ui-gamified.docblock` resolves through `./src/docs/learning-journey-ui-gamified.docblock.ts`.
33
+ - Export `./example` resolves through `./src/example.ts`.
34
+ - Export `./GamifiedMiniApp` resolves through `./src/GamifiedMiniApp.tsx`.
35
+ - Export `./learning-journey-ui-gamified.feature` resolves through `./src/learning-journey-ui-gamified.feature.ts`.
36
+ - The package publishes 15 total export subpaths; keep docs aligned with `package.json`.
37
+
38
+ ## Guardrails
39
+
40
+ - Keep the example package demonstrative, buildable, and aligned with the exported feature surface.
41
+ - Do not add hidden production assumptions that are not actually implemented in the example.
42
+ - Changes here can affect downstream packages such as `@contractspec/example.learning-journey-duo-drills`, `@contractspec/example.learning-journey-quest-challenges`, `@contractspec/example.learning-journey-ui-shared`, `@contractspec/lib.contracts-spec`, `@contractspec/lib.design-system`, `@contractspec/lib.ui-kit-web`, ....
43
+ - Changes here can affect downstream packages such as `@contractspec/example.learning-journey-duo-drills`, `@contractspec/example.learning-journey-quest-challenges`, `@contractspec/example.learning-journey-ui-shared`, `@contractspec/lib.contracts-spec`, `@contractspec/lib.design-system`, `@contractspec/lib.ui-kit-web`, ...
28
44
 
29
45
  ## Local Commands
30
46
 
31
- - Build: `bun run build`
32
- - Dev: `bun run dev`
33
- - Test: `bun test`
34
- - Typecheck: `bun run typecheck`
47
+ - `bun run dev` — contractspec-bun-build dev
48
+ - `bun run build`bun run prebuild && bun run build:bundle && bun run build:types
49
+ - `bun run test`bun test --pass-with-no-tests
50
+ - `bun run lint` — bun lint:fix
51
+ - `bun run lint:check` — biome check .
52
+ - `bun run lint:fix` — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .
53
+ - `bun run typecheck` — tsc --noEmit
54
+ - `bun run publish:pkg` — bun publish --tolerate-republish --ignore-scripts --verbose
55
+ - `bun run publish:pkg:canary` — bun publish:pkg --tag canary
56
+ - `bun run clean` — rimraf dist .turbo
57
+ - `bun run build:bundle` — contractspec-bun-build transpile
58
+ - `bun run build:types` — contractspec-bun-build types
59
+ - `bun run prebuild` — contractspec-bun-build prebuild
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @contractspec/example.learning-journey-ui-gamified
2
2
 
3
+ ## 3.7.10
4
+
5
+ ### Patch Changes
6
+
7
+ - 1a44cb6: feat: improve examples to increase coverage of Contracts type
8
+ - Updated dependencies [1a44cb6]
9
+ - @contractspec/example.learning-journey-quest-challenges@3.7.10
10
+ - @contractspec/example.learning-journey-duo-drills@3.7.10
11
+ - @contractspec/example.learning-journey-ui-shared@3.7.10
12
+ - @contractspec/module.learning-journey@3.7.10
13
+ - @contractspec/lib.contracts-spec@4.1.2
14
+ - @contractspec/lib.design-system@3.8.3
15
+ - @contractspec/lib.ui-kit-web@3.9.2
16
+
17
+ ## 3.7.9
18
+
19
+ ### Patch Changes
20
+
21
+ - fix: release
22
+ - Updated dependencies
23
+ - @contractspec/example.learning-journey-quest-challenges@3.7.9
24
+ - @contractspec/example.learning-journey-duo-drills@3.7.9
25
+ - @contractspec/example.learning-journey-ui-shared@3.7.9
26
+ - @contractspec/module.learning-journey@3.7.9
27
+ - @contractspec/lib.contracts-spec@4.1.1
28
+ - @contractspec/lib.design-system@3.8.2
29
+ - @contractspec/lib.ui-kit-web@3.9.1
30
+
3
31
  ## 3.7.6
4
32
 
5
33
  ### Patch Changes
@@ -558,6 +586,7 @@
558
586
  - 7f3203a: fix: make workspace test runs resilient when packages have no tests
559
587
 
560
588
  Updates package test scripts to pass cleanly when no matching test files exist:
589
+
561
590
  - Uses `bun test --pass-with-no-tests` in Bun-based packages that currently ship without test files.
562
591
  - Uses `jest --passWithNoTests` for the UI kit web package.
563
592
  - Adds `.vscode-test.mjs` for `vscode-contractspec` so VS Code extension test runs have an explicit config and stop failing on missing default configuration.
@@ -1034,14 +1063,17 @@
1034
1063
  feat: Contract layers support (features, examples, app-configs)
1035
1064
 
1036
1065
  ### New CLI Commands
1066
+
1037
1067
  - `contractspec list layers` - List all contract layers with filtering
1038
1068
 
1039
1069
  ### Enhanced Commands
1070
+
1040
1071
  - `contractspec ci` - New `layers` check category validates features/examples/config
1041
1072
  - `contractspec doctor` - New `layers` health checks
1042
1073
  - `contractspec integrity` - Now shows layer statistics
1043
1074
 
1044
1075
  ### New APIs
1076
+
1045
1077
  - `discoverLayers()` - Scan workspace for all layer files
1046
1078
  - `scanExampleSource()` - Parse ExampleSpec from source code
1047
1079
  - `isExampleFile()` - Check if file is an example spec
package/README.md CHANGED
@@ -1,32 +1,75 @@
1
1
  # @contractspec/example.learning-journey-ui-gamified
2
2
 
3
- Website: https://contractspec.io/
3
+ Website: https://contractspec.io
4
4
 
5
+ **Duolingo-style gamified learning UI for drills and quests.**
5
6
 
6
- Duolingo-style gamified learning UI for drills and quests.
7
+ ## What This Demonstrates
7
8
 
8
- ## Features
9
+ - GamifiedMiniApp as a self-contained React application.
10
+ - FlashCard, DayCalendar, and MasteryRing components.
11
+ - Multi-view layout (Overview, Progress, Steps, Timeline).
12
+ - Integration with duo-drills and quest-challenges tracks.
13
+ - Design system and UI kit usage patterns.
14
+ - `src/docs/` contains docblocks and documentation-facing exports.
9
15
 
10
- - **Overview**: Hero card with XP, streak, and next challenge preview
11
- - **Steps**: Interactive flashcard-style step cards
12
- - **Progress**: Mastery rings, XP bar, and badge display
13
- - **Timeline**: Day calendar for quests, step timeline for drills
16
+ ## Running Locally
17
+
18
+ From `packages/examples/learning-journey-ui-gamified`:
19
+ - `bun run dev`
20
+ - `bun run build`
21
+ - `bun run test`
22
+ - `bun run typecheck`
14
23
 
15
24
  ## Usage
16
25
 
17
- ```tsx
18
- import { GamifiedMiniApp } from '@contractspec/example.learning-journey-ui-gamified';
19
- import { drillsLanguageBasicsTrack } from '@contractspec/example.learning-journey-duo-drills/track';
26
+ Use `@contractspec/example.learning-journey-ui-gamified` as a reference implementation, or import its exported surfaces into a workspace that composes ContractSpec examples and bundles.
27
+
28
+ ## Architecture
29
+
30
+ - `src/components/` contains reusable UI components and view composition.
31
+ - `src/docs/` contains docblocks and documentation-facing exports.
32
+ - `src/example.ts` is the runnable example entrypoint.
33
+ - `src/GamifiedMiniApp.tsx` is part of the package's public or composition surface.
34
+ - `src/index.ts` is the root public barrel and package entrypoint.
35
+ - `src/learning-journey-ui-gamified.feature.ts` defines a feature entrypoint.
36
+ - `src/views/` contains view-level composition.
37
+
38
+ ## Public Entry Points
39
+
40
+ - Export `.` resolves through `./src/index.ts`.
41
+ - Export `./components` resolves through `./src/components/index.ts`.
42
+ - Export `./components/DayCalendar` resolves through `./src/components/DayCalendar.tsx`.
43
+ - Export `./components/FlashCard` resolves through `./src/components/FlashCard.tsx`.
44
+ - Export `./components/MasteryRing` resolves through `./src/components/MasteryRing.tsx`.
45
+ - Export `./docs` resolves through `./src/docs/index.ts`.
46
+ - Export `./docs/learning-journey-ui-gamified.docblock` resolves through `./src/docs/learning-journey-ui-gamified.docblock.ts`.
47
+ - Export `./example` resolves through `./src/example.ts`.
48
+ - Export `./GamifiedMiniApp` resolves through `./src/GamifiedMiniApp.tsx`.
49
+ - Export `./learning-journey-ui-gamified.feature` resolves through `./src/learning-journey-ui-gamified.feature.ts`.
50
+ - The package publishes 15 total export subpaths; keep docs aligned with `package.json`.
51
+
52
+ ## Local Commands
53
+
54
+ - `bun run dev` — contractspec-bun-build dev
55
+ - `bun run build` — bun run prebuild && bun run build:bundle && bun run build:types
56
+ - `bun run test` — bun test --pass-with-no-tests
57
+ - `bun run lint` — bun lint:fix
58
+ - `bun run lint:check` — biome check .
59
+ - `bun run lint:fix` — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .
60
+ - `bun run typecheck` — tsc --noEmit
61
+ - `bun run publish:pkg` — bun publish --tolerate-republish --ignore-scripts --verbose
62
+ - `bun run publish:pkg:canary` — bun publish:pkg --tag canary
63
+ - `bun run clean` — rimraf dist .turbo
64
+ - `bun run build:bundle` — contractspec-bun-build transpile
65
+ - `bun run build:types` — contractspec-bun-build types
66
+ - `bun run prebuild` — contractspec-bun-build prebuild
67
+
68
+ ## Recent Updates
20
69
 
21
- function MyApp() {
22
- return (
23
- <GamifiedMiniApp track={drillsLanguageBasicsTrack} initialView="overview" />
24
- );
25
- }
26
- ```
70
+ - Replace eslint+prettier by biomejs to optimize speed.
71
+ - Missing contract layers.
27
72
 
28
- ## Components
73
+ ## Notes
29
74
 
30
- - **FlashCard** - Tappable card that reveals action on flip
31
- - **MasteryRing** - Circular progress indicator
32
- - **DayCalendar** - 7-day grid for quest progress
75
+ - Works alongside `@contractspec/example.learning-journey-duo-drills`, `@contractspec/example.learning-journey-quest-challenges`, `@contractspec/example.learning-journey-ui-shared`, `@contractspec/lib.contracts-spec`, `@contractspec/lib.design-system`, ...