Skip to content

Tavily search tool #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .clinerules
26 changes: 26 additions & 0 deletions .cursor/rules/auto_scaffold_memory_bank.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<rule>
name: auto_scaffold_memory_bank
description: Offer to scaffold memory-bank folder and template files at project init
filters:
- type: event
pattern: "project_init"
actions:
- type: suggest
message: |
Would you like to scaffold the memory-bank directory?

I will create:
- memory-bank/projectbrief.md
- memory-bank/techContext.md
- memory-bank/systemPatterns.md
- memory-bank/activeContext.md
- memory-bank/progress.md

These provide persistent memory and AI-readable context.
examples:
- input: "Starting a new AI project"
output: "Prompt to scaffold memory-bank structure"
metadata:
priority: low
version: 1.0
</rule>
56 changes: 56 additions & 0 deletions .cursor/rules/cursor_rules_location.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
<rule>
name: cursor_rules_location
description: Standards for placing Cursor rule files in the correct directory
filters:
- type: file_extension
pattern: "\.mdc$"
- type: content
pattern: "(?s)<rule>.*?</rule>"
- type: event
pattern: "file_create"
actions:
- type: reject
conditions:
- pattern: "^(?!\.\/\.cursor\/rules\/.*\.mdc$)"
message: "Cursor rule files (.mdc) must be placed in the .cursor/rules directory"
- type: suggest
message: |
When creating Cursor rules:

1. Always place rule files in PROJECT_ROOT/.cursor/rules/:
.cursor/rules/
├── your-rule-name.mdc
├── another-rule.mdc
└── ...

2. Follow the naming convention:
- Use kebab-case for filenames
- Always use .mdc extension
- Make names descriptive of the rule's purpose

3. Directory structure:
PROJECT_ROOT/
├── .cursor/
│ └── rules/
│ ├── your-rule-name.mdc
│ └── ...
└── ...

4. Never place rule files:
- In the project root
- In subdirectories outside .cursor/rules
- In any other location
examples:
- input: |
# Bad: Rule file in wrong location
rules/my-rule.mdc
my-rule.mdc
.rules/my-rule.mdc

# Good: Rule file in correct location
.cursor/rules/my-rule.mdc
output: "Correctly placed Cursor rule file"
metadata:
priority: high
version: 1.0
</rule>
31 changes: 31 additions & 0 deletions .cursor/rules/memory_bank_enforcement.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<rule>
name: memory_bank_enforcement
description: Ensure required memory-bank files exist in correct location
filters:
- type: event
pattern: "file_create"
- type: path
pattern: "^memory-bank/.*\.md$"
actions:
- type: reject
conditions:
- pattern: "^(?!memory-bank/(projectbrief|techContext|systemPatterns|activeContext|progress)\.md$)"
message: "Memory Bank files must be one of the approved names and placed in memory-bank/"
- type: suggest
message: |
Missing standard memory-bank files? You can create:

- memory-bank/projectbrief.md
- memory-bank/techContext.md
- memory-bank/systemPatterns.md
- memory-bank/activeContext.md
- memory-bank/progress.md

Use them to provide long-term project memory and context.
examples:
- input: "memory-bank/projectbrief.md"
output: "Valid memory-bank file"
metadata:
priority: high
version: 1.0
</rule>
35 changes: 35 additions & 0 deletions .cursor/rules/naming_conventions.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<rule>
name: naming_conventions
description: Enforce proper naming conventions based on file type and purpose
filters:
- type: file_extension
pattern: "\.(js|ts|tsx|md)$"
actions:
- type: suggest
message: |
File naming conventions for this project:

1. React Component Files (.tsx):
- Use PascalCase (e.g., Button.tsx, UserProfile.tsx)

2. Pages and Routes:
- Use kebab-case for page files (e.g., about-us.tsx)
- Use snake_case for dynamic route segments (e.g., [product_id].tsx)
- Use lowercase for special files (page.tsx, layout.tsx, loading.tsx)

3. Utility & Config Files (.js, .ts):
- Use kebab-case (e.g., api-helpers.ts, date-utils.ts)

4. Documentation files (.md):
- Use kebab-case (e.g., getting-started.md)
examples:
- input: "src/components/Button.tsx"
output: "Valid: PascalCase for component files"
- input: "src/utils/date-helpers.ts"
output: "Valid: kebab-case for utility files"
- input: "src/app/about-us/page.tsx"
output: "Valid: kebab-case for routes, lowercase for special files"
metadata:
priority: medium
version: 1.1
</rule>
38 changes: 38 additions & 0 deletions .cursor/rules/ui_component_patterns.mdc
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<rule>
name: ui_component_patterns
description: Enforce consistent folder structure and naming for UI components
filters:
- type: path
pattern: "^src/components/.*\.(tsx|jsx)$"
actions:
- type: suggest
message: |
UI component files should:
- Be placed inside src/components/ directory
- Use PascalCase for both the component name and the filename
- Export the component as default or named export matching the file name
- Follow single-responsibility principle

Example component structure:
```
src/components/
├── Button.tsx # Basic UI component
├── UserProfile/ # Complex component with subcomponents
│ ├── index.tsx # Main component export
│ ├── ProfileImage.tsx
│ └── UserDetails.tsx
└── Layout/
├── index.tsx
└── Header.tsx
```
examples:
- input: "src/components/Button.tsx"
output: "Valid: PascalCase for component file"
- input: "src/components/user-profile.tsx"
output: "Invalid: Should use PascalCase (UserProfile.tsx)"
- input: "components/UserProfile.tsx"
output: "Valid: Correctly uses PascalCase"
metadata:
priority: medium
version: 1.1
</rule>
1 change: 1 addition & 0 deletions .cursorrules
3 changes: 2 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ GOOGLE_API_KEY=""

# Optional
# ANTHROPIC_API_KEY=""
# FINANCIAL_DATASETS_API_KEY=""
# FINANCIAL_DATASETS_API_KEY=""
# TAVILY_API_KEY=""
1 change: 1 addition & 0 deletions .windsurfrules
Loading