loredata 0.3.0 → 0.4.1

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 (48) hide show
  1. package/README.md +97 -59
  2. package/data/avengers/characters.json +304 -177
  3. package/data/better-call-saul/characters.json +267 -155
  4. package/data/big-bang-theory/characters.json +197 -120
  5. package/data/big-bang-theory/meta.json +1 -1
  6. package/data/breaking-bad/characters.json +249 -155
  7. package/data/fast-and-furious/addresses.json +1 -2
  8. package/data/fast-and-furious/characters.json +226 -140
  9. package/data/friends/characters.json +402 -291
  10. package/data/friends/meta.json +1 -1
  11. package/data/game-of-thrones/addresses.json +6 -22
  12. package/data/game-of-thrones/characters.json +507 -314
  13. package/data/guardians-of-the-galaxy/characters.json +225 -123
  14. package/data/harry-potter/addresses.json +6 -11
  15. package/data/harry-potter/characters.json +239 -154
  16. package/data/house-md/characters.json +164 -43
  17. package/data/lost/characters.json +420 -311
  18. package/data/matrix/characters.json +123 -24
  19. package/data/matrix/meta.json +1 -1
  20. package/data/peaky-blinders/characters.json +180 -37
  21. package/data/peaky-blinders/meta.json +1 -1
  22. package/data/prison-break/characters.json +91 -19
  23. package/data/sherlock/characters.json +369 -272
  24. package/data/simpsons/characters.json +205 -41
  25. package/data/sopranos/characters.json +291 -183
  26. package/data/south-park/characters.json +371 -229
  27. package/data/spider-man/characters.json +124 -39
  28. package/data/spider-man/meta.json +6 -6
  29. package/data/star-wars/characters.json +129 -28
  30. package/data/stranger-things/addresses.json +31 -0
  31. package/data/stranger-things/characters.json +226 -0
  32. package/data/stranger-things/meta.json +13 -0
  33. package/data/supernatural/characters.json +96 -19
  34. package/data/supernatural/meta.json +6 -6
  35. package/data/the-crown/addresses.json +27 -0
  36. package/data/the-crown/characters.json +275 -0
  37. package/data/the-crown/meta.json +13 -0
  38. package/data/the-office/characters.json +478 -298
  39. package/data/the-walking-dead/characters.json +93 -21
  40. package/data/the-witcher/addresses.json +22 -0
  41. package/data/the-witcher/characters.json +272 -0
  42. package/data/the-witcher/meta.json +13 -0
  43. package/data/vikings/addresses.json +26 -0
  44. package/data/vikings/characters.json +240 -0
  45. package/data/vikings/meta.json +13 -0
  46. package/data/westworld/characters.json +71 -18
  47. package/data/x-men/characters.json +108 -24
  48. package/package.json +85 -84
package/README.md CHANGED
@@ -5,8 +5,9 @@
5
5
  <h3 align="center">LoreData</h3>
6
6
 
7
7
  <p align="center">
8
- Generate fake personas using real characters from pop culture universes.<br/>
9
- Every field name, email, address, profession, quote comes from the same fictional world.
8
+ Generate coherent personas from pop culture universes.<br/>
9
+ Each persona comes from one fictional world with no cross-universe mixing.<br/>
10
+ Built for demos, mockups, screenshots, and seed fixtures where recognizable context matters.<br/>
10
11
  </p>
11
12
 
12
13
  <p align="center">
@@ -21,6 +22,42 @@
21
22
 
22
23
  **Demo:** [loredata.orchidfiles.com](https://loredata.orchidfiles.com)
23
24
 
25
+ ## Why LoreData
26
+
27
+ - Generic demo users like John Doe, Jane Smith, and `test@example.com` work for smoke tests but feel flat in real product demos
28
+ - LoreData generates recognizable personas from a single fictional universe, so fields stay coherent by design
29
+ - Deterministic output via seed keeps fixtures stable across runs
30
+ - Works in Node.js, browser, and as a CLI tool with no network requests
31
+
32
+ ## Who this is for
33
+
34
+ - developers filling a local database or Storybook stories with recognizable personas
35
+ - designers building mockups who do not want to use John Doe again
36
+ - QA engineers creating more expressive test accounts with different profiles
37
+ - tutorial and conference talk authors who want screenshots that feel less generic
38
+
39
+ ## Features
40
+
41
+ - [x] 29 universes
42
+ - [x] Single persona and group generation
43
+ - [x] Filter characters by interest, name, universe
44
+ - [x] Deterministic output via seed
45
+ - [x] Browser-safe entry point
46
+ - [x] CLI tool
47
+ - [x] Character symbol and color fields
48
+
49
+ ## Install
50
+
51
+ ```sh
52
+ # library
53
+ npm install loredata
54
+
55
+ # CLI
56
+ npm install -g loredata
57
+ ```
58
+
59
+ ## Usage example
60
+
24
61
  ```ts
25
62
  import { person, group } from 'loredata';
26
63
 
@@ -48,35 +85,6 @@ const team = group({ universe: 'game-of-thrones', size: 3 });
48
85
  // ]
49
86
  ```
50
87
 
51
- Works in Node.js, browser, and as a CLI tool.
52
-
53
- ## Install
54
-
55
- ```sh
56
- # library
57
- npm install loredata
58
-
59
- # CLI
60
- npm install -g loredata
61
- ```
62
-
63
- ## Universes
64
-
65
- 25 universes available out of the box:
66
-
67
- `breaking-bad`, `sopranos`, `better-call-saul`, `the-office`, `house-md`, `sherlock`, `peaky-blinders`, `game-of-thrones`, `friends`, `south-park`, `star-wars`, `matrix`, `the-walking-dead`, `prison-break`, `westworld`, `supernatural`, `simpsons`, `avengers`, `spider-man`, `lost`, `harry-potter`, `guardians-of-the-galaxy`, `big-bang-theory`, `x-men`, `fast-and-furious`
68
-
69
- ```ts
70
- import { universes } from 'loredata';
71
-
72
- universes();
73
- // [
74
- // { id: 'sherlock', name: 'Sherlock', genre: ['crime', 'drama', 'mystery'], description: '...' },
75
- // { id: 'game-of-thrones', name: 'Game of Thrones', genre: ['fantasy', 'drama', 'action'], description: '...' },
76
- // ...
77
- // ]
78
- ```
79
-
80
88
  ## Persona fields
81
89
 
82
90
  Each `Person` includes:
@@ -89,14 +97,19 @@ Each `Person` includes:
89
97
 
90
98
  ## Deterministic output
91
99
 
92
- Pass a `seed` for reproducible results:
100
+ If you need reproducible results, for example for test fixtures, just pass a `seed`:
93
101
 
94
102
  ```ts
95
103
  const p = person({ universe: 'matrix', seed: 42 });
104
+ const team = group({ universe: 'matrix', size: 3, seed: 42 });
96
105
  ```
97
106
 
107
+ Given the same `seed`, you always get the same persona or the same group.
108
+
98
109
  ## Browser
99
110
 
111
+ The library also supports browser environments through a separate entry point with no dependency on `fs` or `path`:
112
+
100
113
  ```ts
101
114
  import { loadUniverse, personFromData } from 'loredata/browser';
102
115
 
@@ -104,7 +117,7 @@ const universe = await loadUniverse('breaking-bad');
104
117
  const p = personFromData(universe);
105
118
  ```
106
119
 
107
- No `fs` or `path` — safe for Vite, webpack, and any browser bundler.
120
+ It works with Vite, webpack, and any browser bundler.
108
121
 
109
122
  ## CLI
110
123
 
@@ -118,47 +131,72 @@ loredata group --universe friends --size 5
118
131
  loredata universes
119
132
  ```
120
133
 
121
- ## Features
134
+ ## Universes
122
135
 
123
- - [x] 25 universes
124
- - [x] Single persona and group generation
125
- - [x] Filter characters by interest, name, universe
126
- - [x] Deterministic output via seed
127
- - [x] Browser-safe entry point
128
- - [x] CLI tool
129
- - [x] Character symbol and color fields
136
+ ```ts
137
+ import { universes } from 'loredata';
138
+
139
+ universes();
140
+ // [
141
+ // { id: 'sherlock', name: 'Sherlock', genre: ['crime', 'drama', 'mystery'], description: '...' },
142
+ // { id: 'game-of-thrones', name: 'Game of Thrones', genre: ['fantasy', 'drama', 'action'], description: '...' },
143
+ // ...
144
+ // ]
145
+ ```
146
+
147
+ For API/CLI usage, use universe IDs such as `the-office` and `game-of-thrones`.
148
+
149
+ 29 universes available out of the box:
150
+
151
+ - Avengers
152
+ - Better Call Saul
153
+ - Big Bang Theory
154
+ - Breaking Bad
155
+ - Crown
156
+ - Fast and Furious
157
+ - Friends
158
+ - Game of Thrones
159
+ - Guardians of the Galaxy
160
+ - Harry Potter
161
+ - House MD
162
+ - Lost
163
+ - Matrix
164
+ - Office
165
+ - Peaky Blinders
166
+ - Prison Break
167
+ - Sherlock
168
+ - Simpsons
169
+ - Sopranos
170
+ - South Park
171
+ - Spider-Man
172
+ - Star Wars
173
+ - Stranger Things
174
+ - Supernatural
175
+ - Walking Dead
176
+ - Witcher
177
+ - Vikings
178
+ - Westworld
179
+ - X-Men
130
180
 
131
181
  ## Development
132
182
 
133
183
  ```sh
184
+ # clone repo and install dependencies
134
185
  git clone https://github.com/orchidfiles/loredata.git
135
186
  cd loredata
136
187
  pnpm install
137
- ```
138
188
 
139
- Build dev-kit (needed once, before other builds):
140
-
141
- ```sh
189
+ # build in watch mode
142
190
  pnpm --filter @loredata/dev-kit build
143
- ```
144
-
145
- Build the library:
146
-
147
- ```sh
148
- pnpm --filter loredata build
149
- ```
150
-
151
- Run the web app:
191
+ pnpm --filter loredata build:watch
152
192
 
153
- ```sh
193
+ # start web app
154
194
  pnpm --filter @loredata/web dev
155
195
  ```
156
196
 
157
- ## Why
158
-
159
- Faker.js generates random names and emails. They are internally consistent but meaningless. No shared context, no character identity.
197
+ ## Disclaimer
160
198
 
161
- `LoreData` generates personas from real fictional characters. Each persona is recognizable and internally consistent, which makes it useful for demos, screenshots, and seed files where the content matters.
199
+ LoreData is an unofficial fan tool and is not affiliated with the rights holders of these universes, studios, or streaming platforms.
162
200
 
163
201
  ## License
164
202