familiar-vtt 2.5.17 → 2.5.18
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/LICENSE +158 -6
- package/README.md +22 -22
- package/package.json +1 -1
package/LICENSE
CHANGED
|
@@ -1,8 +1,160 @@
|
|
|
1
|
-
|
|
1
|
+
PolyForm Shield License 1.0.0
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
and confidential. Unauthorized copying, distribution, modification, or use of this
|
|
5
|
-
Software, via any medium, is strictly prohibited without prior written permission
|
|
6
|
-
from the copyright holder.
|
|
3
|
+
Copyright (c) 2026 Ryan Jansen
|
|
7
4
|
|
|
8
|
-
|
|
5
|
+
https://polyformproject.org/licenses/shield/1.0.0/
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Acceptance
|
|
9
|
+
|
|
10
|
+
In order to get any license under these terms, you must agree to them
|
|
11
|
+
as both strict obligations and conditions to all your licenses.
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
Copyright License
|
|
15
|
+
|
|
16
|
+
The licensor grants you a copyright license for the software to do
|
|
17
|
+
everything you might do with the software that would otherwise infringe
|
|
18
|
+
the licensor's copyright in it for any permitted purpose. However, you
|
|
19
|
+
may only distribute the software according to Distribution License and
|
|
20
|
+
make changes or new works based on the software according to Changes
|
|
21
|
+
and New Works License.
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
Distribution License
|
|
25
|
+
|
|
26
|
+
The licensor grants you an additional copyright license to distribute
|
|
27
|
+
copies of the software. Your license to distribute covers distributing
|
|
28
|
+
the software with changes and new works permitted by Changes and New
|
|
29
|
+
Works License.
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
Notices
|
|
33
|
+
|
|
34
|
+
You must ensure that anyone who gets a copy of any part of the software
|
|
35
|
+
from you also gets a copy of these terms or the URL for them above, as
|
|
36
|
+
well as copies of any plain-text lines beginning with "Required Notice:"
|
|
37
|
+
that the licensor provided with the software.
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
Changes and New Works License
|
|
41
|
+
|
|
42
|
+
The licensor grants you an additional copyright license to make changes
|
|
43
|
+
and new works based on the software for any permitted purpose.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
Patent License
|
|
47
|
+
|
|
48
|
+
The licensor grants you a patent license for the software that covers
|
|
49
|
+
patent claims the licensor can license, or becomes able to license, that
|
|
50
|
+
you would infringe by using the software.
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
Noncompete
|
|
54
|
+
|
|
55
|
+
Any purpose is a permitted purpose, except for providing any product
|
|
56
|
+
that competes with the software or any product the licensor or any of
|
|
57
|
+
its affiliates provides using the software.
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
Competition
|
|
61
|
+
|
|
62
|
+
Goods and services compete even when they provide functionality through
|
|
63
|
+
different kinds of interfaces or for different technical platforms.
|
|
64
|
+
Applications can compete with services, libraries with plugins,
|
|
65
|
+
frameworks with development tools, and so on, even if they're written in
|
|
66
|
+
different programming languages or for different computer architectures.
|
|
67
|
+
Goods and services compete even when provided free of charge. If you
|
|
68
|
+
market a product as a practical substitute for the software or another
|
|
69
|
+
product, it definitely competes.
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
New Products
|
|
73
|
+
|
|
74
|
+
If you are using the software to provide a product that does not compete,
|
|
75
|
+
but the licensor or any of its affiliates brings your product into
|
|
76
|
+
competition by providing a new version of the software or another product
|
|
77
|
+
using the software, you may continue using versions of the software
|
|
78
|
+
available under these terms beforehand to provide your competing product,
|
|
79
|
+
but not any later versions.
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
Discontinued Products
|
|
83
|
+
|
|
84
|
+
You may begin using the software to compete with a product or service
|
|
85
|
+
that the licensor or any of its affiliates has stopped providing, unless
|
|
86
|
+
the licensor includes a plain-text line beginning with "Licensor Line of
|
|
87
|
+
Business:" with the software that mentions that line of business.
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
Sales of Business
|
|
91
|
+
|
|
92
|
+
If the licensor or any of its affiliates sells a line of business
|
|
93
|
+
developing the software or using the software to provide a product, the
|
|
94
|
+
buyer can also enforce Noncompete for that product.
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
Fair Use
|
|
98
|
+
|
|
99
|
+
You may have "fair use" rights for the software under the law. These
|
|
100
|
+
terms do not limit them.
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
No Other Rights
|
|
104
|
+
|
|
105
|
+
These terms do not allow you to sublicense or transfer any of your
|
|
106
|
+
licenses to anyone else, or prevent the licensor from granting licenses
|
|
107
|
+
to anyone else. These terms do not imply any other licenses.
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
Patent Defense
|
|
111
|
+
|
|
112
|
+
If you make any written claim that the software infringes or contributes
|
|
113
|
+
to infringement of any patent, your patent license for the software
|
|
114
|
+
granted under these terms ends immediately. If your company makes such a
|
|
115
|
+
claim, your patent license ends immediately for work on behalf of your
|
|
116
|
+
company.
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
Violations
|
|
120
|
+
|
|
121
|
+
The first time you are notified in writing that you have violated any of
|
|
122
|
+
these terms, or done anything with the software not covered by your
|
|
123
|
+
licenses, your licenses can nonetheless continue if you come into full
|
|
124
|
+
compliance with these terms, and take practical steps to correct past
|
|
125
|
+
violations, within 32 days of receiving notice. Otherwise, all your
|
|
126
|
+
licenses end immediately.
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
No Liability
|
|
130
|
+
|
|
131
|
+
As far as the law allows, the software comes as is, without any warranty
|
|
132
|
+
or condition, and the licensor will not be liable to you for any damages
|
|
133
|
+
arising out of these terms or the use or nature of the software, under
|
|
134
|
+
any kind of legal claim.
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
Definitions
|
|
138
|
+
|
|
139
|
+
The "licensor" is the individual or entity offering these terms, and the
|
|
140
|
+
"software" is the software the licensor makes available under these terms.
|
|
141
|
+
|
|
142
|
+
A "product" can be a good or service, or a combination of them.
|
|
143
|
+
|
|
144
|
+
"You" refers to the individual or entity agreeing to these terms.
|
|
145
|
+
|
|
146
|
+
"Your company" is any legal entity, sole proprietorship, or other kind
|
|
147
|
+
of organization that you work for, plus all its affiliates.
|
|
148
|
+
|
|
149
|
+
"Affiliates" means the other organizations than an organization has
|
|
150
|
+
control over, is under the control of, or is under common control with.
|
|
151
|
+
|
|
152
|
+
"Control" means ownership of substantially all the assets of an entity,
|
|
153
|
+
or the power to direct its management and policies by vote, contract, or
|
|
154
|
+
otherwise. Control can be direct or indirect.
|
|
155
|
+
|
|
156
|
+
"Your licenses" are all the licenses granted to you for the software
|
|
157
|
+
under these terms.
|
|
158
|
+
|
|
159
|
+
"Use" means anything you do with the software requiring one of your
|
|
160
|
+
licenses.
|
package/README.md
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
**176 tools. 28 AI providers. Zero prep.**
|
|
8
8
|
|
|
9
|
-
Give your favorite AI full control of your virtual tabletop
|
|
9
|
+
Give your favorite AI full control of your virtual tabletop - characters, combat, scenes, music, lighting, images, voices, and everything in between.
|
|
10
10
|
|
|
11
11
|
[](https://foundryvtt.com)
|
|
12
12
|
[](https://www.npmjs.com/package/familiar-vtt)
|
|
13
|
-
[](#license)
|
|
14
14
|
|
|
15
15
|
[Installation](#installation) | [Quick Start](#quick-start) | [Features](#features) | [Connect Your AI](#connect-your-ai) | [FAQ](#faq)
|
|
16
16
|
|
|
@@ -20,9 +20,9 @@ Give your favorite AI full control of your virtual tabletop — characters, comb
|
|
|
20
20
|
|
|
21
21
|
I'm Ryan. Dad of two young kids, married to my favorite person, and perpetually short on free time.
|
|
22
22
|
|
|
23
|
-
My wife and I play D&D together
|
|
23
|
+
My wife and I play D&D together - just the two of us, 1-on-1 campaigns. It's our thing. But solo DMing is a lot. You're the storyteller, every NPC, the rules engine, the sound guy, and the atmosphere all at once. I'd be mid-monologue as a mysterious stranger and then have to break character to roll initiative, look up a spell range, adjust the lighting, and find that one tavern ambience track I swore I bookmarked. By the time I got back to the scene, the moment was gone.
|
|
24
24
|
|
|
25
|
-
I wanted something that could handle the mechanical side of the table so I could stay in the story. Not a replacement DM
|
|
25
|
+
I wanted something that could handle the mechanical side of the table so I could stay in the story. Not a replacement DM - a co-pilot. Something I could say "roll initiative for the goblins, dim the torches, and start combat music" to, and it would just... do it. While I kept talking.
|
|
26
26
|
|
|
27
27
|
So I started building. First it was a handful of tools to move tokens and roll dice. Then I added combat tracking. Then scene management. Then I thought "what if it could also generate NPC portraits on the fly?" and "what if it could voice the tavern keeper?" and that's basically how you end up with 176 tools across 24 domains and 28 AI providers.
|
|
28
28
|
|
|
@@ -38,7 +38,7 @@ Ask your AI to do things that would normally take you minutes of clicking throug
|
|
|
38
38
|
|
|
39
39
|
> "What spells does Elara have prepared? Does she have enough slots to cast Fireball?"
|
|
40
40
|
|
|
41
|
-
> "Dim the lights, start rain and thunder, and have the innkeeper whisper a warning about the road ahead
|
|
41
|
+
> "Dim the lights, start rain and thunder, and have the innkeeper whisper a warning about the road ahead - in his voice."
|
|
42
42
|
|
|
43
43
|
> "We're done for tonight. Summarize what happened this session and save it."
|
|
44
44
|
|
|
@@ -52,7 +52,7 @@ Familiar exposes **176 tools across 24 domains** through the Model Context Proto
|
|
|
52
52
|
|
|
53
53
|
**Combat & AI**
|
|
54
54
|
|
|
55
|
-
Run full encounters hands-free. Roll initiative, resolve attacks, apply damage, track conditions
|
|
55
|
+
Run full encounters hands-free. Roll initiative, resolve attacks, apply damage, track conditions - or let the AI play NPCs with tactical decision-making.
|
|
56
56
|
|
|
57
57
|
</td>
|
|
58
58
|
<td width="33%" valign="top">
|
|
@@ -66,7 +66,7 @@ Give every NPC a unique AI-generated voice. Generate scene illustrations and cha
|
|
|
66
66
|
|
|
67
67
|
**Scenes & Canvas**
|
|
68
68
|
|
|
69
|
-
Build maps on the fly. Place tokens, draw walls, set lighting and weather, configure regions
|
|
69
|
+
Build maps on the fly. Place tokens, draw walls, set lighting and weather, configure regions - control the entire canvas through natural language.
|
|
70
70
|
|
|
71
71
|
</td>
|
|
72
72
|
</tr>
|
|
@@ -110,7 +110,7 @@ Create, update, and inspect actors, inventory, spells, features, and active effe
|
|
|
110
110
|
| **Rollable Tables** | 7 | Create tables and roll on them for random encounters or loot |
|
|
111
111
|
| **Macros** | 7 | Create, edit, and execute Foundry macros |
|
|
112
112
|
| **World & System** | 6 | World info, system settings, time, pause, and user management |
|
|
113
|
-
| **Combat AI** | 6 | NPC tactical decisions
|
|
113
|
+
| **Combat AI** | 6 | NPC tactical decisions - target selection, ability usage, positioning |
|
|
114
114
|
| **Items** | 6 | Create, update, delete, and search world-level items |
|
|
115
115
|
| **Active Effects** | 5 | Apply, remove, and toggle buffs, debuffs, and status effects |
|
|
116
116
|
| **Folders** | 5 | Organize documents into folder hierarchies |
|
|
@@ -126,7 +126,7 @@ Create, update, and inspect actors, inventory, spells, features, and active effe
|
|
|
126
126
|
|
|
127
127
|
## Connect your AI
|
|
128
128
|
|
|
129
|
-
There are three ways to connect an AI to your game. They all give the AI the same 176 tools
|
|
129
|
+
There are three ways to connect an AI to your game. They all give the AI the same 176 tools - the difference is where the AI runs.
|
|
130
130
|
|
|
131
131
|
### Option 1: Built-in chat (easiest)
|
|
132
132
|
|
|
@@ -143,7 +143,7 @@ Familiar connects directly to **28 AI providers** across four categories:
|
|
|
143
143
|
|
|
144
144
|
This is the right choice if you want the simplest setup, or if you want voice, images, and transcription alongside chat. It is also the only option that supports local models (Ollama, LM Studio) for fully offline play.
|
|
145
145
|
|
|
146
|
-
### Option 2: MCP
|
|
146
|
+
### Option 2: MCP - use your existing AI subscription
|
|
147
147
|
|
|
148
148
|
Already paying for Claude, ChatGPT, or Gemini? You can connect them directly to Familiar through the [Model Context Protocol](https://modelcontextprotocol.io). Your subscription becomes a DM assistant at no extra cost.
|
|
149
149
|
|
|
@@ -163,11 +163,11 @@ npx familiar-vtt
|
|
|
163
163
|
| Windsurf | stdio | Add to MCP config |
|
|
164
164
|
| VS Code (Copilot) | stdio | Add to `.vscode/mcp.json` |
|
|
165
165
|
|
|
166
|
-
You do not need to configure each client by hand. The module includes a step-by-step **MCP Setup Wizard** (in Module Settings > Familiar) that generates the exact config block for your chosen client
|
|
166
|
+
You do not need to configure each client by hand. The module includes a step-by-step **MCP Setup Wizard** (in Module Settings > Familiar) that generates the exact config block for your chosen client - just copy and paste.
|
|
167
167
|
|
|
168
168
|
### Option 3: MCP subscription providers
|
|
169
169
|
|
|
170
|
-
This is a hybrid of the first two. ChatGPT and Mistral's Le Chat can connect as subscription-based providers inside the built-in chat UI. They bring their own models
|
|
170
|
+
This is a hybrid of the first two. ChatGPT and Mistral's Le Chat can connect as subscription-based providers inside the built-in chat UI. They bring their own models - you authenticate with your existing account, and Familiar handles the rest through MCP.
|
|
171
171
|
|
|
172
172
|
You get the convenience of the built-in chat window with the cost advantage of your existing subscription.
|
|
173
173
|
|
|
@@ -211,12 +211,12 @@ Or install it globally:
|
|
|
211
211
|
npm install -g familiar-vtt
|
|
212
212
|
```
|
|
213
213
|
|
|
214
|
-
The **Setup Wizard** in Module Settings > Familiar walks you through connecting your MCP client step by step
|
|
214
|
+
The **Setup Wizard** in Module Settings > Familiar walks you through connecting your MCP client step by step - config snippets, WebSocket port, the works.
|
|
215
215
|
|
|
216
216
|
## Quick Start
|
|
217
217
|
|
|
218
218
|
1. Open **Module Settings > Familiar**
|
|
219
|
-
2. Pick a chat provider
|
|
219
|
+
2. Pick a chat provider - [OpenAI](https://platform.openai.com/api-keys), [Anthropic](https://console.anthropic.com/), or run local models free with [Ollama](https://ollama.com)
|
|
220
220
|
3. Paste your API key
|
|
221
221
|
4. Open the Familiar chat panel from the sidebar
|
|
222
222
|
5. Start playing
|
|
@@ -228,14 +228,14 @@ That's it. No server to run, no terminal, no config files. The built-in chat wor
|
|
|
228
228
|
| | Supported |
|
|
229
229
|
|---|---|
|
|
230
230
|
| **Foundry VTT** | v13, v14 |
|
|
231
|
-
| **Game System** | D&D 5e (2024 rules)
|
|
231
|
+
| **Game System** | D&D 5e (2024 rules) - full support. Other systems work for general features (chat, journals, scenes, audio) but lack system-specific tools like character sheets and combat automation. |
|
|
232
232
|
|
|
233
233
|
## FAQ
|
|
234
234
|
|
|
235
235
|
<details>
|
|
236
236
|
<summary><b>Is Familiar free?</b></summary>
|
|
237
237
|
|
|
238
|
-
The core module is free and includes all 176 tools, 28 providers, built-in chat, and full MCP support. There is a Pro tier with premium features like session persistence, auto-summarization, campaign memory, knowledge base RAG, and voice transcription
|
|
238
|
+
The core module is free and includes all 176 tools, 28 providers, built-in chat, and full MCP support. There is a Pro tier with premium features like session persistence, auto-summarization, campaign memory, knowledge base RAG, and voice transcription - pricing is handled through Polar.sh.
|
|
239
239
|
|
|
240
240
|
</details>
|
|
241
241
|
|
|
@@ -249,14 +249,14 @@ No. There is no telemetry, no analytics, and no data collection of any kind. Fam
|
|
|
249
249
|
<details>
|
|
250
250
|
<summary><b>Can the AI break my world?</b></summary>
|
|
251
251
|
|
|
252
|
-
Familiar sanitizes all document updates so the AI cannot change ownership, permissions, or internal IDs. Prototype pollution protection is built in, destructive operations require confirmation, and WebSocket connections use shared-secret authentication. That said, always keep backups of your world
|
|
252
|
+
Familiar sanitizes all document updates so the AI cannot change ownership, permissions, or internal IDs. Prototype pollution protection is built in, destructive operations require confirmation, and WebSocket connections use shared-secret authentication. That said, always keep backups of your world - that is good practice regardless.
|
|
253
253
|
|
|
254
254
|
</details>
|
|
255
255
|
|
|
256
256
|
<details>
|
|
257
257
|
<summary><b>What is the difference between MCP mode and built-in chat?</b></summary>
|
|
258
258
|
|
|
259
|
-
Built-in chat runs directly inside Foundry with no server required
|
|
259
|
+
Built-in chat runs directly inside Foundry with no server required - it makes API calls straight to your AI provider and is the fastest way to get started. MCP mode connects Familiar to external clients like Claude Desktop, ChatGPT, or Gemini through a local server, which lets you use your existing subscriptions and is more powerful for complex multi-step tasks. Both modes have access to the same 176 tools.
|
|
260
260
|
|
|
261
261
|
</details>
|
|
262
262
|
|
|
@@ -270,7 +270,7 @@ For the best experience: Claude Sonnet 4.6 or Opus 4.6, GPT-4.1, or Gemini 2.5 P
|
|
|
270
270
|
<details>
|
|
271
271
|
<summary><b>Can I use this for solo play?</b></summary>
|
|
272
272
|
|
|
273
|
-
Absolutely
|
|
273
|
+
Absolutely - solo and small-group play is one of the main use cases. I built Familiar for 1-on-1 D&D campaigns with my wife. The AI can run NPCs, manage encounters, describe scenes, and help with rulings so you can play without a dedicated DM.
|
|
274
274
|
|
|
275
275
|
</details>
|
|
276
276
|
|
|
@@ -290,10 +290,10 @@ No. Familiar operates through its own namespaced flags and does not monkey-patch
|
|
|
290
290
|
|
|
291
291
|
## Roadmap
|
|
292
292
|
|
|
293
|
-
These are things I'm actively working toward. No promises on timelines
|
|
293
|
+
These are things I'm actively working toward. No promises on timelines - this is a nights-and-weekends project.
|
|
294
294
|
|
|
295
295
|
- Module integrations (Midi-QOL, Sequencer, Token Magic FX, JB2A) for automated rolls, visual effects, and animations
|
|
296
|
-
- AI Campaign Setup
|
|
296
|
+
- AI Campaign Setup - import a published adventure and let the AI help you prep sessions
|
|
297
297
|
- Pathfinder 2e support
|
|
298
298
|
- More game systems beyond D&D 5e
|
|
299
299
|
|
|
@@ -306,7 +306,7 @@ Familiar's source code is private, but your input matters. If you run into bugs,
|
|
|
306
306
|
|
|
307
307
|
## License
|
|
308
308
|
|
|
309
|
-
Familiar is
|
|
309
|
+
Familiar is licensed under the [PolyForm Shield License 1.0.0](https://polyformproject.org/licenses/shield/1.0.0/). You can use, read, and modify the software freely, but you may not use it to build a competing product. See [LICENSE](LICENSE) for the full text.
|
|
310
310
|
|
|
311
311
|
<div align="center">
|
|
312
312
|
|
package/package.json
CHANGED