← Back to issue list

Add a way for applications to customize the `InitService`

View original Github issue

Metadata

Project
craft-application
Number
#552
Type
issue
State
open
Author
mr-cal
Labels
Type: Enhancement
Created
Updated
Closed
—

Current evaluation

Enhancement: let apps customize InitService name validation and emit per-template messages. Name validation is done (constructor params name_regex/default_name/invalid_name_message, PR #567); per-template message hook still missing.

Suggested action: keep open

Reason: Point 1 is delivered — InitService now takes default_name, name_regex and invalid_name_message with a public validate_project_name() (added in commit 33a15e4f / PR #567) — but point 2 (a message unique to each template, for Rockcraft's differing doc links) has no dedicated override hook; initialise_project() emits nothing template-specific and InitCommand only emits generic "Initializing project."/"Successfully initialised project.", so downstream apps must override entire methods. The issue is maintainer-authored, labelled Type: Enhancement, and the sole comment is an autogenerated Jira bot message, so it remains a valid partially-satisfied enhancement rather than a resolved one.

Evaluated by: mr-cal-bot

Impact: 30 Quick Win: 16 Complexity: 25 Confidence: 72 Actionability: 70

Issue body

### What needs to get done The `InitService` should provide a clean way for applications to: 1. Validate the project name and other variables that will go into the template 2. Emit a message unique to each template ### Why it needs to get done 1. If the user provides an invalid name, the project will fail to build 2. Rockcraft provides different documentation links, depending on the template

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 30
Quick Win: 16
Complexity: 25
Confidence: 72
Actionability: 70
keep open Enhancement: let apps customize InitService name validation and emit per-template messages. Name validation is done (constructor params name_regex/default_name/invalid_name_message, PR #567); per-template message hook still missing.
qwen/qwen3.6-35b-a3b
Impact: 40
Quick Win: 20
Complexity: 30
Confidence: 75
Actionability: 70
keep open Enhancement request to allow applications to customize InitService validation and template messages. Partially addressed with constructor params but not fully implemented.
qwen/qwen3.8-27b
Impact: 40
Quick Win: 26
Staleness: 55
Complexity: 35
Confidence: 75
Support Request: 5
keep open Enhancement request for InitService to let applications customize project-name validation and emit template-specific messages. Name validation is already customizable via constructor args; unique per-template messages are not yet supported.
qwen/qwen3.6-35b-a3b
Staleness: 65
Complexity: 40
Confidence: 75
Support Request: 5
needs triage Enhancement to allow custom validation and messaging in InitService. Open for over a year with only an automated Jira sync comment and no maintainer triage or discussion.
qwen3.6-35b-a3b-mtp-q6
Staleness: 80
Complexity: 40
Confidence: 75
Support Request: 10
needs triage Enhancement request to allow application-level customization of the InitService for validation and templating. The issue has remained unassigned and inactive for over 10 months with only an automated Jira sync comment.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/craft-application#567 (confidence 65%)

    Commit 33a15e4f 'feat: improve name handling in init' introduced the name_regex/invalid_name_message constructor params and validate_project_name(), covering only the validation half of the request.

Related issues

No related issues found above the similarity threshold.