@vibes.diy/prompts 0.20.3-dev-push → 0.20.5-dev-cli-stable-entry

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/llms/three-js.md CHANGED
@@ -1050,6 +1050,16 @@ composer.addPass(new OutputPass());
1050
1050
 
1051
1051
  _This guide focuses on Three.js's most impressive capabilities. Each example demonstrates advanced techniques that create visually stunning results with minimal code complexity._
1052
1052
 
1053
+ ### Code Structure for Three.js + React Apps
1054
+
1055
+ Structure your component in this order:
1056
+
1057
+ 1. **Three.js helper functions** — scene setup, object creation, animation loops separate from React
1058
+ 2. **Hooks and state** — useFireproof, useRef for canvas/scene, useState for UI controls
1059
+ 3. **Effects** — useEffect to initialize scene on mount, update on parameter changes, cleanup on unmount
1060
+ 4. **ClassNames object** — colors, sizes right before JSX so they stay consistent
1061
+ 5. **JSX return** — canvas element with refs, UI controls referencing classNames
1062
+
1053
1063
  # Real world example
1054
1064
 
1055
1065
  ```javascript
package/llms/types.d.ts CHANGED
@@ -6,5 +6,4 @@ export interface LlmConfig {
6
6
  importModule: string;
7
7
  importName: string;
8
8
  importType?: "named" | "namespace" | "default";
9
- llmsTxtUrl?: string;
10
9
  }
@@ -18,21 +18,23 @@ Examples
18
18
  const audioCtx = new (window.AudioContext || window.webkitAudioContext)();
19
19
 
20
20
  // Start/resume only in direct response to a user gesture (e.g., a Play button)
21
- document.querySelector('#start-audio')?.addEventListener('click', async () => {
22
- if (audioCtx.state !== 'running') await audioCtx.resume();
21
+ document.querySelector("#start-audio")?.addEventListener("click", async () => {
22
+ if (audioCtx.state !== "running") await audioCtx.resume();
23
23
  // now safe to create/start nodes
24
24
  });
25
25
 
26
26
  // 2) Simple tone
27
27
  const osc = audioCtx.createOscillator();
28
- osc.type = 'sine';
28
+ osc.type = "sine";
29
29
  osc.frequency.value = 440;
30
30
  osc.connect(audioCtx.destination);
31
31
  osc.start();
32
32
  osc.stop(audioCtx.currentTime + 1);
33
33
 
34
34
  // 3) Load/decode and play a file
35
- const buf = await fetch('/path/audio.mp3').then(r => r.arrayBuffer()).then(b => audioCtx.decodeAudioData(b));
35
+ const buf = await fetch("/path/audio.mp3")
36
+ .then((r) => r.arrayBuffer())
37
+ .then((b) => audioCtx.decodeAudioData(b));
36
38
  const src = audioCtx.createBufferSource();
37
39
  src.buffer = buf;
38
40
  src.connect(audioCtx.destination);
@@ -42,7 +44,7 @@ src.start();
42
44
  const gain = audioCtx.createGain();
43
45
  gain.gain.value = 0.5;
44
46
  const filter = audioCtx.createBiquadFilter();
45
- filter.type = 'lowpass';
47
+ filter.type = "lowpass";
46
48
  filter.frequency.value = 1000;
47
49
  osc.disconnect();
48
50
  osc.connect(filter).connect(gain).connect(audioCtx.destination);
@@ -78,8 +80,8 @@ const wetGain = audioCtx.createGain();
78
80
  const dryGain = audioCtx.createGain();
79
81
 
80
82
  delay.delayTime.value = 0.35;
81
- feedbackGain.gain.value = 0.5; // < 1.0
82
- filter.type = 'lowpass';
83
+ feedbackGain.gain.value = 0.5; // < 1.0
84
+ filter.type = "lowpass";
83
85
  filter.frequency.value = 8000;
84
86
  // distortion.curve = yourFloat32Curve;
85
87
  // reverb.buffer = yourImpulseResponseAudioBuffer;
@@ -103,13 +105,13 @@ Helper (load IR):
103
105
 
104
106
  ```js
105
107
  async function loadImpulseResponse(url) {
106
- const res = await fetch(url, { mode: 'cors' });
108
+ const res = await fetch(url, { mode: "cors" });
107
109
  if (!res.ok) throw new Error(`Failed to fetch IR ${url}: ${res.status} ${res.statusText}`);
108
110
  const ab = await res.arrayBuffer();
109
111
  try {
110
112
  return await audioCtx.decodeAudioData(ab);
111
113
  } catch (err) {
112
- console.error('decodeAudioData failed for IR', url, err);
114
+ console.error("decodeAudioData failed for IR", url, err);
113
115
  throw err; // Surface decoding/CORS-related failures clearly
114
116
  }
115
117
  }
@@ -132,7 +134,9 @@ micGain.connect(master);
132
134
  metronomeGain.connect(master);
133
135
 
134
136
  async function initMic() {
135
- const stream = await navigator.mediaDevices.getUserMedia({ audio: { echoCancellation: true, noiseSuppression: true, autoGainControl: false } });
137
+ const stream = await navigator.mediaDevices.getUserMedia({
138
+ audio: { echoCancellation: true, noiseSuppression: true, autoGainControl: false },
139
+ });
136
140
  const micSrc = audioCtx.createMediaStreamSource(stream);
137
141
  micSrc.connect(micGain);
138
142
  }
@@ -140,7 +144,7 @@ async function initMic() {
140
144
  function scheduleClick(atTime, downbeat = false) {
141
145
  const osc = audioCtx.createOscillator();
142
146
  const env = audioCtx.createGain();
143
- osc.type = 'square';
147
+ osc.type = "square";
144
148
  osc.frequency.setValueAtTime(downbeat ? 2000 : 1600, atTime);
145
149
  env.gain.setValueAtTime(0.0001, atTime);
146
150
  env.gain.exponentialRampToValueAtTime(1.0, atTime + 0.001);
@@ -150,8 +154,12 @@ function scheduleClick(atTime, downbeat = false) {
150
154
  osc.stop(atTime + 0.05);
151
155
  // Cleanup to avoid accumulating nodes during long sessions
152
156
  osc.onended = () => {
153
- try { osc.disconnect(); } catch {}
154
- try { env.disconnect(); } catch {}
157
+ try {
158
+ osc.disconnect();
159
+ } catch {}
160
+ try {
161
+ env.disconnect();
162
+ } catch {}
155
163
  };
156
164
  }
157
165
 
@@ -159,11 +167,13 @@ function startMetronome({ bpm = 120, beatsPerBar = 4 } = {}) {
159
167
  const spb = 60 / bpm; // seconds per beat
160
168
  let next = audioCtx.currentTime + 0.1;
161
169
  let beat = 0;
162
- const lookaheadMs = 25, ahead = 0.2;
170
+ const lookaheadMs = 25,
171
+ ahead = 0.2;
163
172
  const id = setInterval(() => {
164
173
  while (next < audioCtx.currentTime + ahead) {
165
174
  scheduleClick(next, beat % beatsPerBar === 0);
166
- next += spb; beat = (beat + 1) % beatsPerBar;
175
+ next += spb;
176
+ beat = (beat + 1) % beatsPerBar;
167
177
  }
168
178
  }, lookaheadMs);
169
179
  return () => clearInterval(id);
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@vibes.diy/prompts",
3
- "version": "0.20.3-dev-push",
3
+ "version": "0.20.5-dev-cli-stable-entry",
4
4
  "type": "module",
5
+ "main": "./index.js",
5
6
  "description": "",
6
7
  "keywords": [
7
8
  "ai",
@@ -19,17 +20,24 @@
19
20
  "license": "Apache-2.0",
20
21
  "dependencies": {
21
22
  "@adviser/cement": "~0.5.34",
22
- "@fireproof/core": "~0.24.13",
23
- "@fireproof/core-keybag": "~0.24.13",
24
- "@fireproof/core-runtime": "~0.24.13",
25
- "@fireproof/core-types-base": "~0.24.13",
26
- "@fireproof/core-types-protocols-cloud": "~0.24.13",
27
- "@fireproof/use-fireproof": "~0.24.13",
28
- "@vibes.diy/use-vibes-types": "^0.20.3-dev-push"
23
+ "@fireproof/core": "~0.24.15",
24
+ "@fireproof/core-keybag": "~0.24.16",
25
+ "@fireproof/core-runtime": "~0.24.16",
26
+ "@fireproof/core-types-base": "~0.24.16",
27
+ "@fireproof/core-types-protocols-cloud": "~0.24.16",
28
+ "@fireproof/use-fireproof": "~0.24.16",
29
+ "@vibes.diy/call-ai-v2": "^0.20.5-dev-cli-stable-entry",
30
+ "@vibes.diy/use-vibes-types": "^0.20.5-dev-cli-stable-entry",
31
+ "arktype": "~2.2.0",
32
+ "json-schema-faker": "~0.6.1"
29
33
  },
30
34
  "peerDependencies": {
31
35
  "react": ">=19.1.0"
32
36
  },
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "git+https://github.com/VibesDIY/vibes.diy.git"
40
+ },
33
41
  "scripts": {
34
42
  "build": "core-cli tsc",
35
43
  "test": "vitest run"
package/prompts.d.ts CHANGED
@@ -1,13 +1,7 @@
1
1
  import type { UserSettings } from "./settings.js";
2
2
  import { Result } from "@adviser/cement";
3
3
  import { LlmCatalogEntry } from "./json-docs.js";
4
- interface ChatMessage {
5
- readonly role: "system" | "user" | "assistant";
6
- readonly content: string | readonly {
7
- readonly type: string;
8
- readonly text: string;
9
- }[];
10
- }
4
+ import { ChatMessage } from "@vibes.diy/call-ai-v2";
11
5
  export declare const DEFAULT_CODING_MODEL: "anthropic/claude-opus-4.5";
12
6
  export declare function normalizeModelId(id: unknown): string | undefined;
13
7
  export declare function isPermittedModelId(id: unknown): id is string;
@@ -32,7 +26,5 @@ interface LlmSelectionOptions {
32
26
  }
33
27
  export declare function generateImportStatements(llms: LlmCatalogEntry[]): string;
34
28
  export declare function makeBaseSystemPrompt(model: string, sessionDoc: Partial<UserSettings> & LlmSelectionOptions): Promise<SystemPromptResult>;
35
- export declare const RESPONSE_FORMAT: {
36
- structure: string[];
37
- };
29
+ export declare function getSkillText(name: string): Promise<string>;
38
30
  export {};
package/prompts.js CHANGED
@@ -28,7 +28,7 @@ export async function resolveEffectiveModel(settingsDoc, vibeDoc) {
28
28
  return defaultCodingModel();
29
29
  }
30
30
  export async function getDefaultDependencies() {
31
- return ["fireproof", "callai"];
31
+ return ["fireproof", "callai", "web-audio"];
32
32
  }
33
33
  async function detectModulesInHistory(history, _opts) {
34
34
  const detected = new Set();
@@ -148,11 +148,10 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
148
148
  const concatenatedLlmsTxts = [];
149
149
  for (const llm of chosenLlms) {
150
150
  const rText = await keyedLoadAsset.get(llm.name).once(async () => {
151
- return loadAsset(`./llms/${llm.name}.txt`, {
151
+ return loadAsset(`./llms/${llm.name}.md`, {
152
152
  fallBackUrl: "https://esm.sh/@vibes.diy/prompts/",
153
153
  basePath: () => {
154
154
  const dir = import.meta.url;
155
- console.log("Base path for loading LLM text asset:", llm.name, dir);
156
155
  return dir;
157
156
  },
158
157
  mock: {
@@ -161,7 +160,7 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
161
160
  });
162
161
  });
163
162
  if (rText.isErr()) {
164
- console.warn(`Failed to load text for LLM ${llm.name} at path ${import.meta.dirname}/./llms/${llm.name}.txt:`, rText.Err());
163
+ console.warn(`Failed to load text for LLM ${llm.name} at path ${import.meta.dirname}/./llms/${llm.name}.md:`, rText.Err());
165
164
  continue;
166
165
  }
167
166
  concatenatedLlmsTxts.push(`<${llm.label}-docs>`);
@@ -171,19 +170,21 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
171
170
  const concatenatedLlmsTxt = concatenatedLlmsTxts.join("\n");
172
171
  const stylePrompt = sessionDoc?.stylePrompt || defaultStylePrompt;
173
172
  const demoDataLines = includeDemoData
174
- ? `- If your app has a function that uses callAI with a schema to save data, include a Demo Data button that calls that function with an example prompt. Don't write an extra function, use real app code so the data illustrates what it looks like to use the app.\n- Never have have an instance of callAI that is only used to generate demo data, always use the same calls that are triggered by user actions in the app.\n`
173
+ ? `- If your app has a function that uses callAI with a schema to save data, include a Demo Data button that calls that function with an example prompt. Don't write an extra function, use real app code so the data illustrates what it looks like to use the app.\n- Never have an instance of callAI that is only used to generate demo data, always use the same calls that are triggered by user actions in the app.\n`
175
174
  : "";
176
175
  const systemPromptLines = [
177
176
  "You are an AI assistant tasked with creating React components. You should create components that:",
178
- "- Use modern React practices and follow the rules of hooks",
177
+ "- Use modern React practices and follow the Rules of Hooks: never call hooks (useState, useDocument, useLiveQuery, etc.) inside event handlers, loops, conditions, or nested functions. To update an existing document in a click handler, use `database.put({ ...doc, fieldName: newValue })` instead of useDocument.",
179
178
  "- Don't use any TypeScript, just use JavaScript",
180
- "- Use Tailwind CSS for mobile-first accessible styling",
179
+ "- Use Tailwind CSS for mobile-first accessible styling with bracket notation for custom colors like bg-[#242424]",
180
+ "- Define a classNames object (e.g. `const c = { bg: 'bg-[#f1f5f9]', ink: 'text-[#0f172a]', border: 'border-[#0f172a]', accent: 'bg-[#0f172a]' }`) just before the JSX return, then use them like `className={c.ink}`. Never put raw bracket colors directly in JSX — always go through the classNames object.",
181
181
  `- Don't use words from the style prompt in your copy: ${stylePrompt}`,
182
182
  "- For dynamic components, like autocomplete, don't use external libraries, implement your own",
183
183
  "- Avoid using external libraries unless they are essential for the component to function",
184
184
  "- Always import the libraries you need at the top of the file",
185
+ "- Structure your component code in this order: (1) hooks and document shapes, (2) event handlers, (3) classNames object, (4) JSX return. ClassNames go right before JSX so they are close to where they are used.",
185
186
  "- Use Fireproof for data persistence",
186
- "- Use `callAI` to fetch AI (set `stream: true` to enable streaming), use Structured JSON Outputs like this: `callAI(prompt, { schema: { properties: { todos: { type: 'array', items: { type: 'string' } } } } })` and save final responses as individual Fireproof documents.",
187
+ "- Use `callAI` to fetch AI, use schema like this: `JSON.parse(await callAI(prompt, { schema: { properties: { todos: { type: 'array', items: { type: 'string' } } } } }))` and save final responses as individual Fireproof documents.",
187
188
  "- For file uploads use drag and drop and store using the `doc._files` API",
188
189
  "- Don't try to generate png or base64 data, use placeholder image APIs instead, like https://picsum.photos/400 where 400 is the square size",
189
190
  "- Consider and potentially reuse/extend code from previous responses if relevant",
@@ -193,7 +194,7 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
193
194
  "- Keep the database name stable as you edit the code",
194
195
  "- The system can send you crash reports, fix them by simplifying the affected code",
195
196
  "- List data items on the main page of your app so users don't have to hunt for them",
196
- "- If you save data, make sure it is browseable in the app, eg lists should be clickable for more details",
197
+ "- If you save data, make sure it is browsable in the app, eg lists should be clickable for more details",
197
198
  demoDataLines,
198
199
  ];
199
200
  const systemPrompt = [
@@ -201,14 +202,12 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
201
202
  "",
202
203
  concatenatedLlmsTxt,
203
204
  "",
204
- "## ImgGen Component",
205
- "",
206
- "You should use this component in all cases where you need to generate or edit images. It is a React component that provides a UI for image generation and editing. Make sure to pass the database prop to the component. If you generate images, use a live query to list them (with type 'image') in the UI. The best usage is to save a document with a string field called `prompt` (which is sent to the generator) and an optional `doc._files.original` image and pass the `doc._id` to the component via the `_id` prop. It will handle the rest.",
207
- "",
208
205
  ...(userPrompt ? [userPrompt, ""] : []),
209
- "IMPORTANT: You are working in one JavaScript file, use tailwind classes for styling. Remember to use brackets like bg-[#242424] for custom colors.",
206
+ "IMPORTANT: You are working in one JavaScript file. Define a classNames object just before the JSX return for colors and repeated styles, then reference it in your JSX.",
207
+ "",
208
+ "Before writing code, provide a title and brief description of the app. Then list the top 3 features that are the best fit for a mobile web database with real-time collaboration and describe a short planned workflow showing how those features connect into a coherent user experience.",
210
209
  "",
211
- "Provide a title and brief explanation followed by the component code. The component should demonstrate proper Fireproof integration with real-time updates and proper data persistence.",
210
+ "Then write the full component code block. After the code block, add a short message (1-2 sentences) describing the core workflow the app supports.",
212
211
  "",
213
212
  "Begin the component with the import statements. Use react and the following libraries:",
214
213
  "",
@@ -226,7 +225,16 @@ export async function makeBaseSystemPrompt(model, sessionDoc) {
226
225
  model,
227
226
  };
228
227
  }
229
- export const RESPONSE_FORMAT = {
230
- structure: ["Brief explanation", "Component code with proper Fireproof integration", "Real-time updates", "Data persistence"],
231
- };
228
+ export async function getSkillText(name) {
229
+ const rText = await keyedLoadAsset.get(name).once(async () => {
230
+ return loadAsset(`./llms/${name}.md`, {
231
+ fallBackUrl: "https://esm.sh/@vibes.diy/prompts/",
232
+ basePath: () => import.meta.url,
233
+ });
234
+ });
235
+ if (rText.isErr()) {
236
+ return Promise.reject(rText.Err());
237
+ }
238
+ return rText.Ok();
239
+ }
232
240
  //# sourceMappingURL=prompts.js.map
package/prompts.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../jsr/prompts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../jsr/prompts.ts"],"names":[],"mappings":"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"}