Charmcraft init migrated to InitService
Metadata
Current evaluation
The bounty to migrate Charmcraft's init command to craft-application's InitService was closed without implementation. Multiple contributors submitted proposals, but maintainers declined to proceed, leaving the task abandoned.
Suggested action: —
No scores available.
Issue body
### What needs to get done
Replace the current [`init` command](https://github.com/canonical/charmcraft/blob/main/charmcraft/application/commands/init.py) in Charmcraft with the [craft-application `init` command](https://github.com/canonical/craft-application/blob/main/craft_application/commands/init.py), extending the craft-application command and the [InitService](https://github.com/canonical/craft-application/blob/main/craft_application/services/init.py) to make this possible.
#### Acceptance Criteria
* All existing args must be accepted. However:
* The `--author` argument (and the general GECOS info) is no longer used and may simply output a warning that it’s not used.
* `--force` can similarly be replaced with a warning. (The craft-application behaviour of initing a project even if files exist in this directory as long as they’re not overwritten is acceptable as the default, so the behaviour of `--force` becomes the default behaviour)
* The command must accept either the positional `project_dir` as in craft-application or `--project-dir` as in existing charmcraft, with a migration note for users.
* `--project-dir` should be removed from the help and documentation
* Extend the craft-application InitService to be able to rename template files, similar to how it’s implemented in [https://github.com/canonical/charmcraft/pull/2242](https://github.com/canonical/charmcraft/pull/2242)
* This should include at least one `testcraft` spread test that uses this feature.
* End-to-end tests in Charmcraft pass without changes
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen3.6-35b-a3b-mtp-q6 | — | — | The bounty to migrate Charmcraft's init command to craft-application's InitService was closed without implementation. Multiple contributors submitted proposals, but maintainers declined to proceed, leaving the task abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | The bounty to migrate Charmcraft init to craft-application's InitService received multiple contributor proposals but was closed by maintainers without implementation or merge. | |
| qwen/qwen3.6-35b-a3b | — | — | The bounty to migrate Charmcraft's init command to craft-application's InitService received multiple proposals but was closed by maintainers without implementation or merging any changes. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Maintainers closed the bounty to migrate Charmcraft's init command to craft-application without merging any submitted proposals. The task was abandoned. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | The bounty to migrate Charmcraft's init command to craft-application's InitService was closed without implementation. Multiple contributors submitted proposals, but the maintainers declined to proceed, leaving the task abandoned. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2547 Charmcraft init migrated to InitService | charmcraft | open | Refactor to replace charmcraft's custom init command with craft-application's init command and InitService, deprecating --author/--force and extending InitService with template file renaming. Triaged, tracked in Jira, not yet implemented. | |
| #753 Migrate to craft-application's InitService | rockcraft | closed | Closed without resolution or linked pull request. The migration to craft-application's InitService was abandoned or superseded. | |
| #1153 Move the init command to craft-application | charmcraft | closed | Closed without implementation. The migration of the init command to craft-application was abandoned or superseded, with no comments or merge details recorded. | |
| #360 Migrate non-lifecycle commands to craft-application | rockcraft | closed | Closed without a documented resolution. Implementation discussion noted changing the InitCommand superclass from BaseCommand to AppCommand within craft-application. The migration remains unimplemented and effectively abandoned. |