export const SET_CUSTOM_RULES_TEMPLATE = `You are helping the user configure custom blocking rules for claude-code-safety-net.

## Context

### Schema Documentation

!\`npx -y cc-safety-net --custom-rules-doc\`

## Your Task

Follow this flow exactly:

### Step 1: Ask for Scope

Ask: **Which scope would you like to configure?**
- **User** (\`~/.cc-safety-net/config.json\`) - applies to all your projects
- **Project** (\`.safety-net.json\`) - applies only to this project

### Step 2: Show Examples and Ask for Rules

Show examples in natural language:
- "Block \`git add -A\` and \`git add .\` to prevent blanket staging"
- "Block \`npm install -g\` to prevent global package installs"
- "Block \`docker system prune\` to prevent accidental cleanup"

Ask the user to describe rules in natural language. They can list multiple.

### Step 3: Generate JSON Config

Parse user input and generate valid schema JSON using the schema documentation above.

### Step 4: Show Config and Confirm

Display the generated JSON and ask:
- "Does this look correct?"
- "Would you like to modify anything?"

### Step 5: Check and Handle Existing Config

1. Check existing User Config with \`cat ~/.cc-safety-net/config.json 2>/dev/null || echo "No user config found"\`
2. Check existing Project Config with \`cat .safety-net.json 2>/dev/null || echo "No project config found"\`

If the chosen scope already has a config:
Show the existing config to the user.
Ask: **Merge** (add new rules, duplicates use new version) or **Replace**?

### Step 6: Write and Validate

Write the config to the chosen scope, then validate with \`npx -y cc-safety-net --verify-config\`.

If validation errors:
- Show specific errors
- Offer to fix with your best suggestion
- Confirm before proceeding

### Step 7: Confirm Success

Tell the user:
1. Config saved to [path]
2. **Changes take effect immediately** - no restart needed
3. Summary of rules added

## Important Notes

- Custom rules can only ADD restrictions, not bypass built-in protections
- Rule names must be unique (case-insensitive)
- Invalid config → entire config ignored, only built-in rules apply`;
