Janito Profiles
Janito supports predefined system prompts called "profiles" that help the AI understand the context and role it should play when responding to your requests.
Available Profiles
Developer Profile (--developer or --profile developer)
The default profile optimized for software development tasks. This profile:
- Focuses on code generation and debugging
 - Provides access to Python tools and development utilities
 - Emphasizes best practices and clean code
 - Includes file system operations and code execution capabilities
 
Usage:
janito --developer "Create a REST API with FastAPI"
janito --profile developer "Debug this Python script"
Market Analyst Profile (--market or --profile market-analyst)
A specialized profile for market analysis and business insights. This profile:
- Focuses on data analysis and market research
 - Provides tools for web scraping and data processing
 - Emphasizes business context and market trends
 - Includes tools for generating reports and visualizations
 
Usage:
janito --market "Analyze stock market trends for tech companies"
janito --profile market-analyst "Scrape competitor pricing data"
How Profiles Work
Profiles are implemented as Jinja2 templates that generate system prompts based on:
- The selected profile type
 - Available tools and permissions
 - Platform-specific configurations
 - User preferences
 
When you use a profile, Janito automatically:
- Loads the appropriate template
 - Injects relevant tool definitions
 - Sets up platform-specific configurations
 - Provides context-aware responses
 
Custom Profiles
You can create custom profiles by adding system prompt files to:
~/.janito/profiles/
Each file should contain a plain text system prompt. The filename becomes the profile name.
Example:
# Create a custom profile
echo "You are a cybersecurity expert. Focus on security best practices, vulnerability analysis, and secure coding patterns." > ~/.janito/profiles/security-expert
# Use the custom profile
janito --profile security-expert "Review this code for security vulnerabilities"
Profile Selection
Command Line
Use --profile <name> to specify a profile:
janito --profile developer "Create a Python script"
janito --profile market-analyst "Analyze this data"
janito --profile security-expert "Review security"
Shorthand Flags
Use convenience flags for built-in profiles:
janito --developer "Create a Python script"      # Same as --profile developer
janito --market "Analyze this data"              # Same as --profile market-analyst
Interactive Mode
When starting Janito in interactive mode without specifying a profile, it defaults to the Developer profile.
Profile Templates
Profile templates are located in:
janito/agent/templates/profiles/
├── system_prompt_template_developer.txt.j2
└── system_prompt_template_market_analyst.txt.j2
These templates use Jinja2 syntax and can include:
- Tool definitions
 - Platform-specific configurations
 - Dynamic content based on available tools
 - Conditional logic for different environments
 
Best Practices
- 
Use appropriate profiles: Choose the profile that best matches your task type
 - 
Create custom profiles: For specialized domains, create custom profiles
 - 
Combine with tools: Profiles work best when combined with Janito's built-in tools
 - 
Test and iterate: Refine custom profiles based on results
 
Troubleshooting
Profile not found:
- Ensure custom profiles are saved in 
~/.janito/profiles/ - Check file permissions and encoding (UTF-8 recommended)
 - Verify the profile name matches the filename
 
Profile not working as expected:
- Use 
janito --show-system-prompt --profile <name>to inspect the generated prompt - Check if tools are properly configured for your platform
 - Review the profile template for any platform-specific conditions