You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(turbo): restructured repo to be a standard turborepo monorepo (#341)
* added turborepo
* finished turbo migration
* updated gitignore
* use dotenv & run format
* fixed error in docs
* remove standalone deployment in prod
* fix ts error, remove ignore ts errors during build
* added formatter to the end of the docs generator
Copy file name to clipboardExpand all lines: .github/CONTRIBUTING.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
Thank you for your interest in contributing to Sim Studio! Our goal is to provide developers with a powerful, user-friendly platform for building, testing, and optimizing agentic workflows. We welcome contributions in all forms—from bug fixes and design improvements to brand-new features.
4
4
5
5
> **Project Overview:**
6
-
> Sim Studio is a monorepo containing the main application (`sim/`) and documentation (`docs/`). The main application is built with Next.js (app router), ReactFlow, Zustand, Shadcn, and Tailwind CSS. Please ensure your contributions follow our best practices for clarity, maintainability, and consistency.
6
+
> Sim Studio is a monorepo using Turborepo, containing the main application (`apps/sim/`), documentation (`apps/docs/`), and shared packages (`packages/`). The main application is built with Next.js (app router), ReactFlow, Zustand, Shadcn, and Tailwind CSS. Please ensure your contributions follow our best practices for clarity, maintainability, and consistency.
7
7
8
8
---
9
9
@@ -269,26 +269,26 @@ Sim Studio is built in a modular fashion where blocks and tools extend the platf
269
269
270
270
### Where to Add Your Code
271
271
272
-
- **Blocks:** Create your new block file under the `/sim/blocks/blocks` directory. The name of the file should match the provider name (e.g., `pinecone.ts`).
273
-
- **Tools:** Create a new directory under `/sim/tools` with the same name as the provider (e.g., `/sim/tools/pinecone`).
272
+
- **Blocks:** Create your new block file under the `/apps/sim/blocks/blocks` directory. The name of the file should match the provider name (e.g., `pinecone.ts`).
273
+
- **Tools:** Create a new directory under `/apps/sim/tools` with the same name as the provider (e.g., `/apps/sim/tools/pinecone`).
274
274
275
275
In addition, you will need to update the registries:
276
276
277
-
- **Block Registry:** Update the blocks index (`/sim/blocks/index.ts`) to include your new block.
278
-
- **Tool Registry:** Update the tools registry (`/sim/tools/index.ts`) to add your new tool.
277
+
- **Block Registry:** Update the blocks index (`/apps/sim/blocks/index.ts`) to include your new block.
278
+
- **Tool Registry:** Update the tools registry (`/apps/sim/tools/index.ts`) to add your new tool.
279
279
280
280
### How to Create a New Block
281
281
282
282
1. **Create a New File:**
283
-
Create a file for your block named after the provider (e.g., `pinecone.ts`) in the `/sim/blocks/blocks` directory.
283
+
Create a file for your block named after the provider (e.g., `pinecone.ts`) in the `/apps/sim/blocks/blocks` directory.
284
284
285
285
2. **Create a New Icon:**
286
-
Create a new icon for your block in the `/sim/components/icons.tsx` file. The icon should follow the same naming convention as the block (e.g., `PineconeIcon`).
286
+
Create a new icon for your block in the `/apps/sim/components/icons.tsx` file. The icon should follow the same naming convention as the block (e.g., `PineconeIcon`).
287
287
288
288
3. **Define the Block Configuration:**
289
289
Your block should export a constant of type `BlockConfig`. For example:
290
290
291
-
```typescript:/sim/blocks/blocks/pinecone.ts
291
+
```typescript:/apps/sim/blocks/blocks/pinecone.ts
292
292
import { PineconeIcon } from '@/components/icons'
293
293
import { PineconeResponse } from '@/tools/pinecone/types'
294
294
import { BlockConfig } from '../types'
@@ -313,11 +313,11 @@ In addition, you will need to update the registries:
313
313
```
314
314
315
315
4. **Register Your Block:**
316
-
Add your block to the blocks registry (`/sim/blocks/registry.ts`):
316
+
Add your block to the blocks registry (`/apps/sim/blocks/registry.ts`):
@@ -333,7 +333,7 @@ In addition, you will need to update the registries:
333
333
### How to Create a New Tool
334
334
335
335
1. **Create a New Directory:**
336
-
Create a directory under `/sim/tools` with the same name as the provider (e.g., `/sim/tools/pinecone`).
336
+
Create a directory under `/apps/sim/tools` with the same name as the provider (e.g., `/apps/sim/tools/pinecone`).
337
337
338
338
2. **Create Tool Files:**
339
339
Create separate files foreach tool functionality with descriptive names (e.g., `fetch.ts`, `generate_embeddings.ts`, `search_text.ts`)in your tool directory.
@@ -344,7 +344,7 @@ In addition, you will need to update the registries:
344
344
4. **Create an Index File:**
345
345
Create an `index.ts` file in your tool directory that imports and exports all tools:
346
346
347
-
```typescript:/sim/tools/pinecone/index.ts
347
+
```typescript:/apps/sim/tools/pinecone/index.ts
348
348
import { fetchTool } from './fetch'
349
349
import { generateEmbeddingsTool } from './generate_embeddings'
350
350
import { searchTextTool } from './search_text'
@@ -355,7 +355,7 @@ In addition, you will need to update the registries:
355
355
5. **Define the Tool Configuration:**
356
356
Your tool should export a constant with a naming convention of `{toolName}Tool`. The tool ID should follow the format `{provider}_{tool_name}`. For example:
357
357
358
-
```typescript:/sim/tools/pinecone/fetch.ts
358
+
```typescript:/apps/sim/tools/pinecone/fetch.ts
359
359
import { ToolConfig, ToolResponse } from '../types'
360
360
import { PineconeParams, PineconeResponse } from './types'
361
361
@@ -384,9 +384,9 @@ In addition, you will need to update the registries:
384
384
```
385
385
386
386
6. **Register Your Tool:**
387
-
Update the tools registry in`/sim/tools/index.ts` to include your new tool:
387
+
Update the tools registry in`/apps/sim/tools/index.ts` to include your new tool:
388
388
389
-
```typescript:/sim/tools/index.ts
389
+
```typescript:/apps/sim/tools/index.ts
390
390
import { fetchTool, generateEmbeddingsTool, searchTextTool } from './pinecone'
0 commit comments