Overview
DevDaily uses two mechanisms to customize PR descriptions:- PR Templates: GitHub-style markdown templates with sections and checklists
- Prompt Files: Custom guidelines that instruct the AI how to write descriptions
PR Template Detection
DevDaily automatically searches for PR templates in your repository:Example Template
Template Sections
DevDaily parses templates into sections based on## headings and automatically fills them:
section
Matches:
Description, What Changed, What, SummaryFilled with: AI-generated summary of changes from commits and diffsection
Matches:
Type of Change, Type, Change TypeFilled with: Detected change type with appropriate checklist item markedsection
Matches:
Ticket, Jira Ticket, Issue, Related IssuesFilled with: Ticket ID(s) and links from branch name and commitssection
Matches:
Impact, Affected Areas, ScopeFilled with: Analysis of which system components are affectedsection
Matches:
How to Test, Testing, Test PlanFilled with: Step-by-step testing instructionssection
Matches:
Breaking Changes, Breaking, MigrationFilled with: List of breaking changes or “No breaking changes.”section
Matches:
Screenshots, Images, Visual ChangesFilled with: Placeholder text (screenshots must be added manually)section
Matches:
Checklist, Verification, Review ChecklistFilled with: Preserved as-is from templateCustom PR Prompt Files
Prompt files instruct the AI how to write PR descriptions, ensuring consistency with your team’s style.Creating a Prompt File
Create.devdaily-pr-prompt.md in your repository root:
.devdaily-pr-prompt.md
Search Order
DevDaily searches for prompt files in this order:- Path specified in config (
pr.promptFile) .devdaily-pr-prompt.md(repo root).github/devdaily-pr-prompt.md.github/PR_DESCRIPTION_PROMPT.mddocs/devdaily-pr-prompt.md
Configuration
.devdaily.json
string
Path to custom prompt file (relative to repo root or absolute)
boolean
default:"true"
Include diff summary in AI prompt for richer context
number
default:"200"
Maximum diff lines to include in prompt (prevents token overflow)
PR Configuration Options
All PR-related settings in.devdaily.json:
.devdaily.json
string
default:"main"
Default base branch for PRs
string
Path to custom PR template (overrides auto-detection)
boolean
default:"true"
Automatically suggest labels based on changes
string[]
default:"[]"
Labels to apply to all PRs
string[]
default:"[]"
Default reviewers (GitHub usernames)
string[]
default:"[]"
Default assignees (
@me = you, or GitHub usernames)enum
default:"conventional"
PR title format:
conventional:feat: Add OAuth(Conventional Commits)ticket-first:PROJ-123: Add OAuthplain:Add OAuth
boolean
default:"true"
Include ticket ID in PR title (when detected)
How Templates Are Filled
When you rundevdaily pr, here’s what happens:
1
Detect template
Search for PR template in standard locations
2
Load prompt file
Load custom prompt guidelines (if exists)
3
Analyze changes
- Get commits since base branch
- Generate diff summary
- Extract ticket IDs from branch/commits
- Fetch ticket metadata (if PM tool configured)
4
Generate with AI
Send context + prompt to GitHub Copilot CLI:
- Commits and file changes
- Diff summary (up to maxDiffLines)
- Ticket data
- Template structure
- Custom guidelines from prompt file
5
Fill template
Map AI output to template sections:
- Description → What Changed
- Type detection → Type of Change checkboxes
- Tickets → Ticket section with links
- Testing steps → How to Test
6
Present to user
Show filled template in interactive menu:
- Edit description
- Create PR
- Copy to clipboard
Type Detection
DevDaily automatically detects PR type from:-
Branch name prefix:
feature/,feat/→ Featurefix/,bugfix/→ Bug fixhotfix/→ Hotfixdocs/→ Documentationrefactor/→ Refactoringtest/→ Testingchore/→ Maintenance
-
Conventional commit types:
feat:→ Featurefix:→ Bug fixdocs:→ Documentationrefactor:→ Refactoringtest:→ Testingchore:→ Maintenance
-
File changes:
- Only
.mdfiles → Documentation - Only test files → Testing
- Config files → Configuration
- Only
Example: Complete Workflow
1. Create Files
2. Create Branch
3. Make Changes
4. Generate PR
5. Output
Title:6. Create PR
From the interactive menu:- Select “Create PR on GitHub”
- DevDaily creates PR with:
- Generated title and body
- Label:
enhancement(auto-detected) - Reviewer:
alice(from config) - Assignee:
@me
Generating Sample Files
DevDaily can generate starter templates:Best Practices
1
Start with a simple template
Don’t over-engineer. Start with:
- Description
- Testing
- Checklist
2
Write clear prompt guidelines
Be specific about:
- Tone (formal vs casual)
- Length (concise vs detailed)
- Required elements (tickets, testing, etc.)
- Forbidden elements (emojis, personal opinions)
3
Use conventional commit types
Consistent commit types (
feat:, fix:, etc.) help DevDaily:- Detect PR type accurately
- Generate better titles
- Suggest appropriate labels
4
Review and refine
After generating several PRs:
- Review quality of descriptions
- Update prompt file based on patterns
- Adjust template sections to match team needs
Troubleshooting
Template Not Detected
-
Check file exists:
-
Verify file is readable:
-
Manually specify:
Prompt File Not Applied
-
Check file location:
-
Test with debug:
-
Verify syntax:
Sections Not Filled Correctly
-
Check section names: Must match expected patterns (case-insensitive)
-
Verify markdown format: Sections must use
##(h2) -
Check for typos:
Related Configuration
Configuration Overview
Learn about all configuration options
Project Management
Configure ticket integration for PRs
PR Command
Learn how to create PRs with DevDaily