Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9e92d4f32a | ||
|
|
8608dfe566 | ||
|
|
74f41c979c | ||
|
|
0902a0e57d | ||
|
|
fea594c920 | ||
|
|
b314d14476 | ||
|
|
f19b049975 | ||
|
|
a813a9ab8d | ||
|
|
20173cad5e | ||
|
|
586abc8406 | ||
|
|
8990a78f84 |
@@ -4,6 +4,36 @@ Note: Only use **NEW:** for entirely new prompt files, NOT for new additions/sec
|
||||
|
||||
### Claude Code System Prompts Changelog
|
||||
|
||||
# [2.0.52](https://github.com/Piebald-AI/claude-code-system-prompts/commit/74f41c979c84103343d0d92f086678911e0b7d36)
|
||||
|
||||
_+42 tokens_
|
||||
|
||||
- Add a 4th note to the procedure steps in the Plan Mode Re-entry System Prompt: _"Continue on with the plan process and most importantly you should always edit the plan file one way or the other before calling ExitPlanMode._"
|
||||
|
||||
# [2.0.51](https://github.com/Piebald-AI/claude-code-system-prompts/commit/fea594c92014ec7c6133e771afc1a55a034a15ee)
|
||||
|
||||
_+906 tokens_
|
||||
|
||||
- **NEW:** Prompt for the new `EnterPlanMode` tool.
|
||||
- **NEW:** Prompt for agent hooks.
|
||||
|
||||
# [2.0.50](https://github.com/Piebald-AI/claude-code-system-prompts/commit/f19b049975ac24bf548b6c95dfe6a385c6bdf4a9)
|
||||
|
||||
_+465 tokens_
|
||||
|
||||
- **NEW:** System reminder sent when an `mcp-cli read` or `mcp-cli call` output is longer than the `MAX_MCP_OUTPUT_TOKENS` environment variable (defaults to `25000`)
|
||||
- `WebSearch` tool description: Added a "CRITICAL REQUIREMENT" to include a "Sources:" section whenever performing a web search.
|
||||
- Session notes template: Added a "Key results" section including "specific outputs" such as "an answer to question, a table, or other document."
|
||||
|
||||
# [2.0.49](https://github.com/Piebald-AI/claude-code-system-prompts/commit/ec960fe987da2dfdb026f733fcd30120ac1a116e)
|
||||
|
||||
- **Explore & Plan agents:**
|
||||
- Enhanced READ-ONLY restrictions with explicit bulleted list of prohibited operations
|
||||
- Added note that file editing tools are not available
|
||||
- Reformatted Bash tool restrictions for clarity
|
||||
|
||||
#### **2.0.48** – _This version does not exist._
|
||||
|
||||
# [2.0.47](https://github.com/Piebald-AI/claude-code-system-prompts/commit/62075a9489f7edb416970b9e67605c288ce562ac)
|
||||
|
||||
- **NEW:** Agent prompt: Multi-Agent Planning Note - instructions for multi-agent planning when `CLAUDE_CODE_PLAN_V2_AGENT_COUNT` > 1
|
||||
@@ -50,6 +80,12 @@ Note: Only use **NEW:** for entirely new prompt files, NOT for new additions/sec
|
||||
- Prompt Hook execution: Fixed JSON format (added quotes around keys)
|
||||
- Main system prompt: Added `FEEDBACK_CHANNEL` variable
|
||||
|
||||
#### **2.0.40** – _This version does not exist._
|
||||
|
||||
#### **2.0.39** – _This version does not exist._
|
||||
|
||||
#### **2.0.38** – _This version does not exist._
|
||||
|
||||
# [2.0.37](https://github.com/Piebald-AI/claude-code-system-prompts/commit/a6eb810)
|
||||
|
||||
- **NEW:** Agent prompt: Prompt Hook execution
|
||||
@@ -123,6 +159,8 @@ Note: Only use **NEW:** for entirely new prompt files, NOT for new additions/sec
|
||||
|
||||
- **NEW:** Tool description: Bash (sandbox note)
|
||||
|
||||
#### **2.0.23** – _This version does not exist._
|
||||
|
||||
#### [2.0.22](https://github.com/Piebald-AI/claude-code-system-prompts/commit/f6910aa)
|
||||
|
||||
<sub>_No changes to the system prompts in v2.0.22._</sub>
|
||||
@@ -150,6 +188,8 @@ Note: Only use **NEW:** for entirely new prompt files, NOT for new additions/sec
|
||||
- Main system prompt: Added examples for when to use Explore agent vs direct search
|
||||
- Main system prompt: Added new variables (`EXPLORE_AGENT`, `GLOB_TOOL_NAME`, `GREP_TOOL_NAME`)
|
||||
|
||||
#### **2.0.16** – _This version does not exist._
|
||||
|
||||
# [2.0.15](https://github.com/Piebald-AI/claude-code-system-prompts/commit/ed40efa)
|
||||
|
||||
- Updated `ExitPlanMode` tool description formatting (added "Examples" header)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Claude Code System Prompts
|
||||
|
||||
This repository contains an up-to-date list of all Claude Code's various system prompts and their associated token counts as of **[Claude Code v2.0.49](https://www.npmjs.com/package/@anthropic-ai/claude-code/v/2.0.49) (November 20th, 2025).** It also contains a [**CHANGELOG.md**](./CHANGELOG.md) for the system prompts across 30 versions since v2.0.14.
|
||||
This repository contains an up-to-date list of all Claude Code's various system prompts and their associated token counts as of **[Claude Code v2.0.53](https://www.npmjs.com/package/@anthropic-ai/claude-code/v/2.0.53) (November 24th, 2025).** It also contains a [**CHANGELOG.md**](./CHANGELOG.md) for the system prompts across 34 versions since v2.0.14.
|
||||
|
||||
Why multiple "system prompts?"
|
||||
|
||||
@@ -48,6 +48,7 @@ Sub-agents and utilities.
|
||||
|
||||
### Utilities
|
||||
|
||||
- [Agent Prompt: Agent Hook](./system-prompts/agent-prompt-agent-hook.md) (**133** tks) - Prompt for an 'agent hook'.
|
||||
- [Agent Prompt: Bash command file path extraction](./system-prompts/agent-prompt-bash-command-file-path-extraction.md) (**286** tks) - System prompt for extracting file paths from bash command output.
|
||||
- [Agent Prompt: Bash command prefix detection](./system-prompts/agent-prompt-bash-command-prefix-detection.md) (**835** tks) - System prompt for detecting command prefixes and command injection.
|
||||
- [Agent Prompt: Bash output summarization](./system-prompts/agent-prompt-bash-output-summarization.md) (**605** tks) - System prompt for determining whether bash command output should be summarized.
|
||||
@@ -56,8 +57,8 @@ Sub-agents and utilities.
|
||||
- [Agent Prompt: Conversation summarization](./system-prompts/agent-prompt-conversation-summarization.md) (**1121** tks) - System prompt for creating detailed conversation summaries.
|
||||
- [Agent Prompt: Multi-Agent Planning Note](./system-prompts/agent-prompt-multi-agent-planning-note.md) (**324** tks) - Part of the Plan mode system reminder instructing the model how to use multiple agents to plan solutions. Included only if the CLAUDE_CODE_PLAN_V2_AGENT_COUNT environment variable is set to a number greater than 1..
|
||||
- [Agent Prompt: Prompt Hook execution](./system-prompts/agent-prompt-prompt-hook-execution.md) (**134** tks) - Prompt given to Claude when acting evaluating whether to pass or fail a prompt hook..
|
||||
- [Agent Prompt: Session notes template](./system-prompts/agent-prompt-session-notes-template.md) (**226** tks) - Template structure for session notes tracking coding work and decisions.
|
||||
- [Agent Prompt: Session notes update instructions](./system-prompts/agent-prompt-session-notes-update-instructions.md) (**730** tks) - Instructions for updating session notes files during conversations.
|
||||
- [Agent Prompt: Session notes template](./system-prompts/agent-prompt-session-notes-template.md) (**260** tks) - Template structure for session notes tracking coding work and decisions.
|
||||
- [Agent Prompt: Session notes update instructions](./system-prompts/agent-prompt-session-notes-update-instructions.md) (**759** tks) - Instructions for updating session notes files during conversations.
|
||||
- [Agent Prompt: Session title and branch generation](./system-prompts/agent-prompt-session-title-and-branch-generation.md) (**333** tks) - System prompt for generating succinct titles and git branch names for coding sessions.
|
||||
- [Agent Prompt: Update Magic Docs](./system-prompts/agent-prompt-update-magic-docs.md) (**718** tks) - Prompt for the magic-docs agent..
|
||||
- [Agent Prompt: User sentiment analysis](./system-prompts/agent-prompt-user-sentiment-analysis.md) (**205** tks) - System prompt for analyzing user frustration and PR creation requests.
|
||||
@@ -68,7 +69,7 @@ Sub-agents and utilities.
|
||||
|
||||
Misc large strings.
|
||||
|
||||
- [Data: GitHub Actions workflow for @claude mentions](./system-prompts/data-github-actions-workflow-for-@claude-mentions.md) (**531** tks) - GitHub Actions workflow template for triggering Claude Code via @claude mentions.
|
||||
- [Data: GitHub Actions workflow for @claude mentions](./system-prompts/data-github-actions-workflow-for-claude-mentions.md) (**531** tks) - GitHub Actions workflow template for triggering Claude Code via @claude mentions.
|
||||
- [Data: GitHub Actions workflow for automated code review (beta)](./system-prompts/data-github-actions-workflow-for-automated-code-review-beta.md) (**573** tks) - GitHub Actions workflow template for automated Claude Code reviews using direct_prompt.
|
||||
- [Data: GitHub App installation PR description](./system-prompts/data-github-app-installation-pr-description.md) (**424** tks) - Template for PR description when installing Claude Code GitHub App integration.
|
||||
-->
|
||||
@@ -93,12 +94,14 @@ Text for large system reminders.
|
||||
- [System Reminder: Plan mode is active (enhanced)](./system-prompts/system-reminder-plan-mode-is-active-enhanced.md) (**789** tks) - Enhanced plan mode system reminder with parallel exploration and multi-agent planning.
|
||||
- [System Reminder: Plan mode is active (for subagents)](./system-prompts/system-reminder-plan-mode-is-active-for-subagents.md) (**310** tks) - Simplified plan mode system reminder for sub agents.
|
||||
- [System Reminder: Plan mode is active](./system-prompts/system-reminder-plan-mode-is-active.md) (**242** tks) - System reminder sent to Claude when the user enters plan mode.
|
||||
- [System Reminder: Plan mode re-entry](./system-prompts/system-reminder-plan-mode-re-entry.md) (**194** tks) - System reminder sent when the user enters Plan mode after having previously exited it either via shift+tab or by approving Claude's plan..
|
||||
- [System Reminder: Plan mode re-entry](./system-prompts/system-reminder-plan-mode-re-entry.md) (**236** tks) - System reminder sent when the user enters Plan mode after having previously exited it either via shift+tab or by approving Claude's plan..
|
||||
- [System Reminder: `mcp-cli` Large Output](./system-prompts/system-reminder-mcp-cli-large-output.md) (**265** tks) - System reminder sent when the output of an `mcp-cli read` or `mcp-cli call` command is greater than the MAX_MCP_OUTPUT_TOKENS environment variable (defaults to 25000).
|
||||
|
||||
### Builtin Tool Descriptions
|
||||
|
||||
- [Tool Description: Bash](./system-prompts/tool-description-bash.md) (**1074** tks) - Description for the Bash tool, which allows Claude to run shell commands.
|
||||
- [Tool Description: Edit](./system-prompts/tool-description-edit.md) (**278** tks) - Tool description for performing exact string replacements in files.
|
||||
- [Tool Description: EnterPlanMode](./system-prompts/tool-description-enterplanmode.md) (**773** tks) - Description for the EnterPlanMode tool, which lets Claude enter plan mode proactively..
|
||||
- [Tool Description: ExitPlanMode v2](./system-prompts/tool-description-exitplanmode-v2.md) (**450** tks) - V2 description for the ExitPlanMode tool, which presents a plan dialog for the user to approve.
|
||||
- [Tool Description: ExitPlanMode](./system-prompts/tool-description-exitplanmode.md) (**342** tks) - Description for the ExitPlanMode tool, which presents a plan dialog for the user to approve.
|
||||
- [Tool Description: Glob](./system-prompts/tool-description-glob.md) (**122** tks) - Tool description for file pattern matching and searching by name.
|
||||
@@ -111,7 +114,7 @@ Text for large system reminders.
|
||||
- [Tool Description: Task](./system-prompts/tool-description-task.md) (**1055** tks) - Tool description for launching specialized sub-agents to handle complex tasks.
|
||||
- [Tool Description: TodoWrite](./system-prompts/tool-description-todowrite.md) (**2167** tks) - Tool description for creating and managing task lists.
|
||||
- [Tool Description: WebFetch](./system-prompts/tool-description-webfetch.md) (**278** tks) - Tool description for web fetch functionality.
|
||||
- [Tool Description: WebSearch](./system-prompts/tool-description-websearch.md) (**166** tks) - Tool description for web search functionality.
|
||||
- [Tool Description: WebSearch](./system-prompts/tool-description-websearch.md) (**303** tks) - Tool description for web search functionality.
|
||||
- [Tool Description: Write](./system-prompts/tool-description-write.md) (**159** tks) - Tool description creating/overwriting writing individual files.
|
||||
|
||||
**Additional notes for some Tool Desscriptions**
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
<!--
|
||||
name: 'Agent Prompt: Agent Hook'
|
||||
description: Prompt for an 'agent hook'
|
||||
ccVersion: 2.0.51
|
||||
variables:
|
||||
- TRANSCRIPT_PATH
|
||||
- STRUCTURED_OUTPUT_TOOL_NAME
|
||||
-->
|
||||
You are verifying a stop condition in Claude Code. Your task is to verify that the agent completed the given plan. The conversation transcript is available at: ${TRANSCRIPT_PATH}
|
||||
You can read this file to analyze the conversation history if needed.
|
||||
|
||||
Use the available tools to inspect the codebase and verify the condition.
|
||||
Use as few steps as possible - be efficient and direct.
|
||||
|
||||
When done, return your result using the ${STRUCTURED_OUTPUT_TOOL_NAME} tool with:
|
||||
- ok: true if the condition is met
|
||||
- ok: false with reason if the condition is not met
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
name: 'Agent Prompt: Session notes template'
|
||||
description: Template structure for session notes tracking coding work and decisions
|
||||
ccVersion: 2.0.25
|
||||
ccVersion: 2.0.50
|
||||
-->
|
||||
|
||||
# Session Title
|
||||
@@ -25,5 +25,8 @@ _What are the important system components? How do they work/fit together?_
|
||||
# Learnings
|
||||
_What has worked well? What has not? What to avoid? Do not duplicate items from other sections_
|
||||
|
||||
# Key results
|
||||
_If the user asked a specific output such as an answer to a question, a table, or other document, repeat the exact result here_
|
||||
|
||||
# Worklog
|
||||
_Step by step, what was attempted, done? Very terse summary for each step_
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!--
|
||||
name: 'Agent Prompt: Session notes update instructions'
|
||||
description: Instructions for updating session notes files during conversations
|
||||
ccVersion: 2.0.25
|
||||
ccVersion: 2.0.50
|
||||
variables:
|
||||
- MAX_SECTION_TOKENS
|
||||
-->
|
||||
@@ -26,6 +26,7 @@ CRITICAL RULES FOR EDITING:
|
||||
- Do NOT reference this note-taking process or instructions anywhere in the notes
|
||||
- It's OK to skip updating a section if there are no substantial new insights to add. Do not add filler content like "No info yet", just leave sections blank/unedited if appropriate.
|
||||
- Write DETAILED, INFO-DENSE content for each section - include specifics like file paths, function names, error messages, exact commands, technical details, etc.
|
||||
- For "Key results", include the complete, exact output the user requested (e.g., full table, full answer, etc.)
|
||||
- Do not include information that's already in the CLAUDE.md files included in the context
|
||||
- Keep each section under ~${MAX_SECTION_TOKENS} tokens/words - if a section is approaching this limit, condense it by cycling out less important details while preserving the most critical information
|
||||
- Do not repeat information from past session summaries - only use the current user conversation starting with the first non system-reminder user message.
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
<!--
|
||||
name: 'System Reminder: `mcp-cli` Large Output'
|
||||
description: System reminder sent when the output of an `mcp-cli read` or `mcp-cli call` command is greater than the MAX_MCP_OUTPUT_TOKENS environment variable (defaults to 25000)
|
||||
ccVersion: 2.0.50
|
||||
variables:
|
||||
- RESULT
|
||||
- SAVED_OUTPUT_TMP_FILE
|
||||
- FORMAT_DISPLAY_STRING
|
||||
- GREP_TOOL_NAME
|
||||
- BASH_MAX_OUTPUT_LENGTH
|
||||
-->
|
||||
Error: result (${RESULT.length.toLocaleString()} characters) exceeds maximum allowed tokens. Output has been saved to ${SAVED_OUTPUT_TMP_FILE}.
|
||||
Format: ${FORMAT_DISPLAY_STRING}
|
||||
Use offset and limit parameters to read specific portions of the file, the ${GREP_TOOL_NAME} tool to search for specific content, and jq to make structured queries.
|
||||
REQUIREMENTS FOR SUMMARIZATION/ANALYSIS/REVIEW:
|
||||
- You MUST read the content from the file at ${SAVED_OUTPUT_TMP_FILE} in sequential chunks until 100% of the content has been read.
|
||||
- If you receive truncation warnings when reading the file ("[N lines truncated]"), reduce the chunk size until you have read 100% of the content without truncation ***DO NOT PROCEED UNTIL YOU HAVE DONE THIS***. Bash output is limited to ${BASH_MAX_OUTPUT_LENGTH().toLocaleString()} chars.
|
||||
- Before producing ANY summary or analysis, you MUST explicitly describe what portion of the content you have read. ***If you did not read the entire content, you MUST explicitly state this.***
|
||||
@@ -1,9 +1,10 @@
|
||||
<!--
|
||||
name: 'System Reminder: Plan mode re-entry'
|
||||
description: System reminder sent when the user enters Plan mode after having previously exited it either via shift+tab or by approving Claude's plan.
|
||||
ccVersion: 2.0.47
|
||||
ccVersion: 2.0.52
|
||||
variables:
|
||||
- SYSTEM_REMINDER
|
||||
- EXIT_PLAN_MODE_TOOL_OBJECT
|
||||
-->
|
||||
## Re-entering Plan Mode
|
||||
|
||||
@@ -15,5 +16,6 @@ You are returning to plan mode after having previously exited it. A plan file ex
|
||||
3. Decide how to proceed:
|
||||
- **Different task**: If the user's request is for a different task—even if it's similar or related—start fresh by overwriting the existing plan
|
||||
- **Same task, continuing**: If this is explicitly a continuation or refinement of the exact same task, modify the existing plan while cleaning up outdated or irrelevant sections
|
||||
4. Continue on with the plan process and most importantly you should always edit the plan file one way or the other before calling ${EXIT_PLAN_MODE_TOOL_OBJECT.name}
|
||||
|
||||
Treat this as a fresh planning session. Do not assume the existing plan is relevant without evaluating it first.
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
<!--
|
||||
name: 'Tool Description: EnterPlanMode'
|
||||
description: Description for the EnterPlanMode tool, which lets Claude enter plan mode proactively.
|
||||
ccVersion: 2.0.51
|
||||
variables:
|
||||
- ASK_USER_QUESTION_TOOL_NAME
|
||||
-->
|
||||
Use this tool when you encounter a complex task that requires careful planning and exploration before implementation. This tool transitions you into plan mode where you can thoroughly explore the codebase and design an implementation approach.
|
||||
|
||||
## When to Use This Tool
|
||||
|
||||
Use EnterPlanMode when ANY of these conditions apply:
|
||||
|
||||
1. **Multiple Valid Approaches**: The task can be solved in several different ways, each with trade-offs
|
||||
- Example: "Add caching to the API" - could use Redis, in-memory, file-based, etc.
|
||||
- Example: "Improve performance" - many optimization strategies possible
|
||||
|
||||
2. **Significant Architectural Decisions**: The task requires choosing between architectural patterns
|
||||
- Example: "Add real-time updates" - WebSockets vs SSE vs polling
|
||||
- Example: "Implement state management" - Redux vs Context vs custom solution
|
||||
|
||||
3. **Large-Scale Changes**: The task touches many files or systems
|
||||
- Example: "Refactor the authentication system"
|
||||
- Example: "Migrate from REST to GraphQL"
|
||||
|
||||
4. **Unclear Requirements**: You need to explore before understanding the full scope
|
||||
- Example: "Make the app faster" - need to profile and identify bottlenecks
|
||||
- Example: "Fix the bug in checkout" - need to investigate root cause
|
||||
|
||||
5. **User Input Needed**: You'll need to ask clarifying questions before starting
|
||||
- If you would use ${ASK_USER_QUESTION_TOOL_NAME} to clarify the approach, consider EnterPlanMode instead
|
||||
- Plan mode lets you explore first, then present options with context
|
||||
|
||||
## When NOT to Use This Tool
|
||||
|
||||
Do NOT use EnterPlanMode for:
|
||||
- Simple, straightforward tasks with obvious implementation
|
||||
- Small bug fixes where the solution is clear
|
||||
- Adding a single function or small feature
|
||||
- Tasks you're already confident how to implement
|
||||
- Research-only tasks (use the Task tool with explore agent instead)
|
||||
|
||||
## What Happens in Plan Mode
|
||||
|
||||
In plan mode, you'll:
|
||||
1. Thoroughly explore the codebase using Glob, Grep, and Read tools
|
||||
2. Understand existing patterns and architecture
|
||||
3. Design an implementation approach
|
||||
4. Present your plan to the user for approval
|
||||
5. Use ${ASK_USER_QUESTION_TOOL_NAME} if you need to clarify approaches
|
||||
6. Exit plan mode with ExitPlanMode when ready to implement
|
||||
|
||||
## Examples
|
||||
|
||||
### GOOD - Use EnterPlanMode:
|
||||
User: "Add user authentication to the app"
|
||||
- This requires architectural decisions (session vs JWT, where to store tokens, middleware structure)
|
||||
|
||||
User: "Optimize the database queries"
|
||||
- Multiple approaches possible, need to profile first, significant impact
|
||||
|
||||
User: "Implement dark mode"
|
||||
- Architectural decision on theme system, affects many components
|
||||
|
||||
### BAD - Don't use EnterPlanMode:
|
||||
User: "Fix the typo in the README"
|
||||
- Straightforward, no planning needed
|
||||
|
||||
User: "Add a console.log to debug this function"
|
||||
- Simple, obvious implementation
|
||||
|
||||
User: "What files handle routing?"
|
||||
- Research task, not implementation planning
|
||||
|
||||
## Important Notes
|
||||
|
||||
- This tool REQUIRES user approval - they must consent to entering plan mode
|
||||
- Be thoughtful about when to use it - unnecessary plan mode slows down simple tasks
|
||||
- If unsure whether to use it, err on the side of starting implementation
|
||||
- You can always ask the user "Would you like me to plan this out first?"
|
||||
@@ -1,15 +1,27 @@
|
||||
<!--
|
||||
name: 'Tool Description: WebSearch'
|
||||
description: Tool description for web search functionality
|
||||
ccVersion: 2.0.14
|
||||
ccVersion: 2.0.50
|
||||
-->
|
||||
|
||||
- Allows Claude to search the web and use the results to inform responses
|
||||
- Provides up-to-date information for current events and recent data
|
||||
- Returns search result information formatted as search result blocks
|
||||
- Returns search result information formatted as search result blocks, including links as markdown hyperlinks
|
||||
- Use this tool for accessing information beyond Claude's knowledge cutoff
|
||||
- Searches are performed automatically within a single API call
|
||||
|
||||
CRITICAL REQUIREMENT - You MUST follow this:
|
||||
- After answering the user's question, you MUST include a "Sources:" section at the end of your response
|
||||
- In the Sources section, list all relevant URLs from the search results as markdown hyperlinks: [Title](URL)
|
||||
- This is MANDATORY - never skip including sources in your response
|
||||
- Example format:
|
||||
|
||||
[Your answer here]
|
||||
|
||||
Sources:
|
||||
- [Source Title 1](https://example.com/1)
|
||||
- [Source Title 2](https://example.com/2)
|
||||
|
||||
Usage notes:
|
||||
- Domain filtering is supported to include or block specific websites
|
||||
- Web search is only available in the US
|
||||
|
||||
@@ -151,10 +151,8 @@ function nameToFilename(name) {
|
||||
// Convert to lowercase and replace special chars
|
||||
const filename = namePart
|
||||
.toLowerCase()
|
||||
.replace(/\./g, '') // Remove dots
|
||||
.replace(/\s+/g, '-') // Spaces to hyphens
|
||||
.replace(/[()]/g, '') // Remove parentheses
|
||||
.replace(/\//g, '-') // Slashes to hyphens
|
||||
.replace(/[^a-z0-9_-]/g, '') // Remove any char not a-z, 0-9, _, or -
|
||||
.replace(/-+/g, '-') // Collapse multiple hyphens
|
||||
.replace(/^-|-$/g, ''); // Trim hyphens from start/end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user