Version: 1.0.0
Updated: September 17, 2025
Author: Pink Pixel
Made with β€οΈ by Pink Pixel - Dream it, Pixel it β¨
- Overview
- Getting Started
- Built-in Templates
- Using Templates
- Creating Custom Templates
- Placeholder System
- Template Categories
- Advanced Features
- Command Reference
- Troubleshooting
CopyCat's template system is a powerful feature that allows you to create and use reusable text snippets with dynamic placeholders. Perfect for:
- π API keys and configuration strings
- π» Code snippets and boilerplate
- π§ Email signatures and professional communications
- ποΈ Database queries and commands
- π HTTP requests and API calls
- βοΈ Configuration files and settings
- Built-in Templates: 6 professionally crafted templates ready to use
- Smart Placeholders: Dynamic
{{PLACEHOLDER}}system with validation - Usage Analytics: Track which templates you use most
- Category Organization: Templates grouped by purpose
- Security-First: Automatic sensitive data detection and protection
- Import/Export: Share template collections with others
- Smart Suggestions: AI-powered template recommendations
CLI Method:
copycat --templatesGUI Method:
- Launch CopyCat GUI:
copycat-guiorcopycat --gui - Click the Templates tab
- Browse available templates by category
Let's try the email signature template:
- Open CopyCat GUI
- Go to Templates tab
- Select "email-signature" template
- Fill in the placeholders:
- NAME: Your full name
- TITLE: Your job title
- COMPANY: Your company name
- EMAIL: Your email address
- PHONE: Your phone number (optional)
- WEBSITE: Your website URL (optional)
- Click Process Template
- The result is automatically copied to your clipboard!
CopyCat includes 6 professionally crafted templates organized by category:
- Name:
api-key - Purpose: Secure handling of API keys
- Placeholders:
{{API_KEY}} - Usage: Perfect for pasting API keys while maintaining security
- Example Output:
sk-1234567890abcdefghijklmnopqrstuvwxyz
- Name:
json-schema - Purpose: Generate JSON schema definitions
- Placeholders:
{{PROPERTY_NAME}}- Property name{{PROPERTY_TYPE}}- Data type (string, number, boolean, object, array){{PROPERTY_DESC}}- Property description
- Example Output:
{ "type": "object", "properties": { "username": { "type": "string", "description": "User's login name" } }, "required": ["username"] }
- Name:
mcp-server-config - Purpose: Generate MCP server configuration blocks
- Placeholders:
{{SERVER_NAME}}- Server identifier{{COMMAND}}- Command to run server{{ARGS}}- Command arguments (comma-separated, quoted){{ENV_KEY}}- Environment variable key (optional){{ENV_VALUE}}- Environment variable value (optional)
- Example Output:
{ "mcpServers": { "filesystem": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/files"], "env": { "FILE_ACCESS_LEVEL": "read-write" } } } }
- Name:
curl-request - Purpose: Generate HTTP requests using cURL
- Placeholders:
{{METHOD}}- HTTP method (GET, POST, PUT, DELETE, PATCH){{URL}}- Request URL{{TOKEN}}- Authorization token (optional, sensitive){{DATA}}- Request body data in JSON format (optional)
- Example Output:
curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your-token-here" \ -d '{"key": "value"}' \ https://api.example.com/endpoint
- Name:
email-signature - Purpose: Professional email signatures
- Placeholders:
{{NAME}}- Your full name{{TITLE}}- Your job title{{COMPANY}}- Company name{{EMAIL}}- Email address{{PHONE}}- Phone number (optional){{WEBSITE}}- Website URL (optional)
- Example Output:
Best regards, John Smith Senior Developer Tech Solutions Inc. john.smith@techsolutions.com +1-555-123-4567 https://techsolutions.com
- Name:
sql-query - Purpose: Generate SQL SELECT statements
- Placeholders:
{{COLUMNS}}- Columns to select (default: *){{TABLE}}- Table name{{CONDITIONS}}- WHERE conditions (optional, default: 1=1){{ORDER_BY}}- ORDER BY clause (optional){{LIMIT}}- LIMIT clause (optional, default: 10)
- Example Output:
SELECT id, name, email FROM users WHERE status = 'active' ORDER BY created_at DESC LIMIT 10;
- Launch GUI:
copycat --guiorcopycat-gui - Navigate to Templates: Click the Templates tab
- Browse Categories: Use category dropdown to filter templates
- Select Template: Click on desired template
- Fill Placeholders: Enter values in the form fields
- Process: Click "Process Template" button
- Result: Processed template is copied to clipboard automatically
# View all templates
copycat --templates
# Note: Direct CLI template processing is not yet implemented
# Use the GUI for template processing- Template Selection β Choose from built-in or custom templates
- Placeholder Filling β Enter values for required and optional fields
- Validation β System validates inputs based on placeholder types
- Processing β Placeholders replaced with actual values
- Output β Result copied to clipboard and/or displayed
- Analytics β Usage statistics updated for future improvements
- Open Templates Tab in CopyCat GUI
- Click "New Template" button
- Fill Template Details:
- Name: Unique template identifier (no spaces, use hyphens)
- Description: Brief explanation of template purpose
- Category: Choose existing or create new category
- Tags: Keywords for easy searching (comma-separated)
- Write Template Content:
- Use
{{PLACEHOLDER_NAME}}syntax for dynamic content - Example:
Hello {{NAME}}, your order {{ORDER_ID}} is ready!
- Use
- Configure Placeholders:
- System auto-detects placeholders from content
- Set placeholder types, descriptions, and default values
- Mark required vs optional placeholders
- Save Template
Simple Greeting:
Hello {{NAME}},
Welcome to {{COMPANY}}! We're excited to have you on board.
Best regards,
{{SENDER_NAME}}
Configuration File:
[{{SECTION_NAME}}]
server_url = {{SERVER_URL}}
api_key = {{API_KEY}}
debug = {{DEBUG_MODE}}
timeout = {{TIMEOUT_SECONDS}}Code Snippet:
def {{FUNCTION_NAME}}({{PARAMETERS}}):
"""{{DESCRIPTION}}"""
{{FUNCTION_BODY}}
return {{RETURN_VALUE}}- Use UPPERCASE names:
{{USER_NAME}}not{{user_name}} - Be descriptive:
{{DATABASE_CONNECTION_STRING}}not{{DB}} - Group related fields:
{{EMAIL_FROM}},{{EMAIL_TO}},{{EMAIL_SUBJECT}} - Consider defaults: Provide sensible defaults for optional fields
- Think about types: Use appropriate input types (text, email, url, number, etc.)
Use double curly braces around placeholder names:
{{PLACEHOLDER_NAME}}
| Type | Description | Validation | Example |
|---|---|---|---|
text |
Basic text input | None | Any text string |
sensitive |
Masked input (passwords, API keys) | None | Displayed as **** |
email |
Email address | Email format | user@domain.com |
url |
Website URL | URL format | https://example.com |
number |
Numeric input | Number format | 42, 3.14 |
select |
Dropdown options | Predefined choices | Choose from list |
Each placeholder can have:
- Name: Unique identifier within template
- Description: User-friendly explanation
- Type: Input validation and UI widget type
- Required: Whether field is mandatory (true/false)
- Default: Pre-filled value
- Options: For select type, list of choices
{
"name": "EMAIL_TYPE",
"description": "Type of email to send",
"type": "select",
"options": ["welcome", "notification", "reminder", "alert"],
"required": true,
"default": "notification"
}| Category | Icon | Purpose | Example Templates |
|---|---|---|---|
| development | π» | Programming templates | JSON schema, API requests |
| security | π | Security-related content | API keys, tokens |
| personal | π€ | Personal use templates | Email signatures, letters |
| database | ποΈ | Database-related queries | SQL statements, schema |
Create your own categories when making templates:
- business - Business documents and forms
- academic - Research papers and citations
- creative - Creative writing templates
- devops - Infrastructure and deployment
- documentation - Technical documentation
CopyCat analyzes your clipboard content and suggests relevant templates:
- Content Analysis: System detects data types (JSON, URLs, code, etc.)
- Keyword Matching: Matches content against template tags and descriptions
- Usage Patterns: Considers your most-used templates
- Context Awareness: Suggests based on recent activity
Example:
- Copy a JSON object β Suggests "json-schema" template
- Copy an email address β Suggests "email-signature" template
- Copy "curl" command β Suggests "curl-request" template
Track your template usage with detailed statistics:
- Usage Count: How many times each template has been used
- Success Rate: Percentage of successful template processing
- Most Common Values: Frequently used placeholder values for auto-completion
- Category Statistics: Usage patterns by template category
- Last Used: When you last used each template
Access Analytics:
- Open Templates tab in GUI
- Click "Usage Statistics" button
- View detailed analytics dashboard
Export Templates:
# Via Python API (for advanced users)
from copycat.template_manager import AdvancedTemplateManager
tm = AdvancedTemplateManager()
tm.export_templates("/path/to/my_templates.json")Import Templates:
- Drag and drop template files into GUI
- Use Import button in Templates tab
- Merge with existing templates or overwrite
Template File Format:
{
"templates": [...],
"categories": [...],
"export_date": "2025-09-17T07:36:52Z",
"version": "1.0"
}Sensitive Data Protection:
- Automatic detection of API keys, tokens, passwords
- Masked display in UI (shows
sk-****...****) - Excluded from clipboard history
- Encrypted in template backups
Security Indicators:
- π Lock icon for sensitive templates
- Warning messages for sensitive content
- Secure processing notifications
# View all available templates
copycat --templates
# Launch GUI with Templates tab
copycat --gui
# Launch standalone GUI
copycat-guiTemplates Tab Features:
- Category Filter: Dropdown to filter by category
- Search Bar: Find templates by name, description, or tags
- Template List: All available templates with descriptions
- Template Editor: Create/edit custom templates
- Processing Form: Fill placeholders and process templates
- Usage Statistics: View analytics and usage patterns
- Ctrl+N: New template
- Ctrl+E: Edit selected template
- Ctrl+D: Delete selected template
- Ctrl+P: Process template
- Ctrl+F: Search templates
- F5: Refresh template list
Problem: "No templates found" Solution:
- Ensure CopyCat is properly installed:
pip install -e . - Check that built-in templates are loading correctly
- Verify template files exist in package resources
Problem: Template processing fails Solution:
- Check all required placeholders are filled
- Verify placeholder syntax uses
{{NAME}}format - Ensure no special characters in placeholder names
Problem: GUI shows template errors Solution:
- Restart CopyCat GUI
- Clear template cache: Delete
~/.copycat/templates.json(user templates only) - Check for JSON syntax errors in custom templates
Problem: Templates not saving Solution:
- Verify write permissions to
~/.copycat/directory - Check disk space availability
- Ensure template names are unique
Valid Template Content:
Hello {{NAME}}, welcome to {{COMPANY}}!
Invalid Template Content:
Hello {NAME}, welcome to {{COMPANY}! # Single braces
Hello {{ NAME }}, welcome to {{COMPANY}} # Spaces in placeholder
Hello {{name}}, welcome to {{COMPANY}} # Lowercase (works but not recommended)
- Built-in Templates:
copycat/resources/templates.json(read-only) - User Templates:
~/.copycat/templates.json - Usage Statistics:
~/.copycat/template_usage.json - Analytics:
~/.copycat/analytics.json - Backups:
~/.copycat/template_backups/
- Check Status:
copycat --status- Verify system dependencies - View Logs: Check terminal output for error messages
- Reset Templates: Delete user template files to restore defaults
- GUI Issues: Try CLI template listing to isolate GUI problems
- Start Simple: Begin with basic placeholders, add complexity gradually
- Test Thoroughly: Process templates with various inputs before saving
- Use Categories: Organize templates into logical categories
- Add Good Descriptions: Make it easy to find templates later
- Consider Security: Mark sensitive placeholders appropriately
- Favorite Templates: Most-used templates appear first in lists
- Smart Defaults: Use common values as placeholder defaults
- Batch Processing: Create multiple related templates together
- Regular Cleanup: Review and remove unused custom templates
- Export Collections: Backup important template collections
- Development: API endpoint templates, configuration files
- Documentation: Standard headers, code examples, references
- Communication: Meeting invites, status updates, announcements
- DevOps: Deployment configs, monitoring alerts, incident reports
- Business: Proposals, invoices, contracts, agreements
The template system continues to evolve with planned features:
- Template Variables: Environment-based dynamic values
- Template Inheritance: Base templates with specialized variants
- Collaborative Templates: Share templates across teams
- AI-Generated Templates: Smart template creation from examples
- Conditional Logic: If/then template behavior
- Template Macros: Complex multi-step template processing
Found a bug or have a suggestion?
- Open an issue on the project repository
- Share your custom templates with the community
- Contribute improvements to built-in templates
Need help?
- Check the troubleshooting section above
- Run
copycat --statusto verify system setup - Test with built-in templates first before creating custom ones
This guide covers CopyCat Template System v1.0.0. For the latest updates and features, check the project documentation.
Made with β€οΈ by Pink Pixel - Dream it, Pixel it β¨