Skip to main content
DevDaily supports both GitHub PR templates and custom AI prompt files to generate consistent, team-specific pull request descriptions.

Overview

DevDaily uses two mechanisms to customize PR descriptions:
  1. PR Templates: GitHub-style markdown templates with sections and checklists
  2. Prompt Files: Custom guidelines that instruct the AI how to write descriptions
These work together: the template provides structure, and the prompt file guides the AI’s tone and content.

PR Template Detection

DevDaily automatically searches for PR templates in your repository:
The first template found is used to structure the PR description.

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 diff
section
Matches: Type of Change, Type, Change TypeFilled with: Detected change type with appropriate checklist item marked
section
Matches: Ticket, Jira Ticket, Issue, Related IssuesFilled with: Ticket ID(s) and links from branch name and commits
section
Matches: Impact, Affected Areas, ScopeFilled with: Analysis of which system components are affected
section
Matches: How to Test, Testing, Test PlanFilled with: Step-by-step testing instructions
section
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 template

Custom 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:
  1. Path specified in config (pr.promptFile)
  2. .devdaily-pr-prompt.md (repo root)
  3. .github/devdaily-pr-prompt.md
  4. .github/PR_DESCRIPTION_PROMPT.md
  5. docs/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 OAuth
  • plain: Add OAuth
boolean
default:"true"
Include ticket ID in PR title (when detected)

How Templates Are Filled

When you run devdaily 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:
  1. Branch name prefix:
    • feature/, feat/ → Feature
    • fix/, bugfix/ → Bug fix
    • hotfix/ → Hotfix
    • docs/ → Documentation
    • refactor/ → Refactoring
    • test/ → Testing
    • chore/ → Maintenance
  2. Conventional commit types:
    • feat: → Feature
    • fix: → Bug fix
    • docs: → Documentation
    • refactor: → Refactoring
    • test: → Testing
    • chore: → Maintenance
  3. File changes:
    • Only .md files → Documentation
    • Only test files → Testing
    • Config files → Configuration
The detected type determines which checkbox is marked in “Type of Change” sections.

Example: Complete Workflow

1. Create Files

2. Create Branch

3. Make Changes

4. Generate PR

5. Output

Title:
Body:
GOOGLE_CLIENT_ID=your-client-id GOOGLE_CLIENT_SECRET=your-client-secret

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
Add sections as needs evolve.
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

  1. Check file exists:
  2. Verify file is readable:
  3. Manually specify:

Prompt File Not Applied

  1. Check file location:
  2. Test with debug:
  3. Verify syntax:

Sections Not Filled Correctly

  1. Check section names: Must match expected patterns (case-insensitive)
  2. Verify markdown format: Sections must use ## (h2)
  3. Check for typos:

Configuration Overview

Learn about all configuration options

Project Management

Configure ticket integration for PRs

PR Command

Learn how to create PRs with DevDaily