Add init documentation for a gentle introduction to the charm operator
Metadata
Current evaluation
Merged PR adding starter docs to charmcraft init. Reviewer requested moving content to a Charmhub discourse wiki and linking it. Contributor adapted the change, and the PR was merged with the external link integrated.
Suggested action: —
No scores available.
Issue body
So I have recently worked on creating a new charm [operator for Redis](https://github.com/edumucelli/redis-operator). As someone new to Juju and with some knowledge on K8s I ended up struggling a bit to find where were the documentation, examples and even how to set up my local environment to make things work. Consider it as someone new to the whole context: I even searched for the instructions as someone from the outside, looking on Google for documentation -- which mostly took me to the reactive operator.
@mthaddon took some time today to discuss with me and gather some feedback about how the process was to understand where things were easy and where the main roadblocks were. One thing I have mentioned is that the skeleton command `charmcraft init` was great to give something that was already in the expected format -- thanks for that. However, from there I was mostly lost. It took me around 10 days to get the Redis operator working, but I think that having the right links this can be way faster.
One thing @mthaddon suggested was if the `init` command had some more documentation or pointers where to go, or what to do after you are there.
This PR takes most of my notes and some links I have found during the process that could have been useful for someone starting writing a charm with the operator framework. Things that really helped me were the existing up-to-date charms such as the MongoDB (thanks @balbirthomas) one and the discussion with many people here and there that materialized with some stuff I have did in the Redis one, usage of the, e.g., [resource-oci-image](https://github.com/juju-solutions/resource-oci-image) library (thanks @johnsca) as I would have found nowhere suggesting me to use it.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged PR adding starter docs to charmcraft init. Reviewer requested moving content to a Charmhub discourse wiki and linking it. Contributor adapted the change, and the PR was merged with the external link integrated. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Added beginner documentation for charmcraft init. Per reviewer feedback, embedded text was replaced with a link to a Charmhub Discourse wiki post to enable easier maintenance. External documentation now guides new developers. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after a reviewer requested moving embedded docs to a Discourse wiki for easier maintenance. The update links to the wiki in the charmcraft init docstring, guiding newcomers through setup and key resources. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #91 First pass at 'charmcraft init' | charmcraft | merged | Merged the initial 'charmcraft init' implementation. Approved by two reviewers, the PR adds 1087 lines across 24 files to scaffold charms. README.md, additional options, and interactive prompts require future updates. | |
| #2748 docs: improve charm naming docs, with links to detailed guidance | charmcraft | merged | Merged documentation updates improving charm naming guidance. Changes remove outdated best practice notes, add value descriptions, link to detailed Ops documentation, and clarify the init command workflow. Approved and merged to resolve issue #2582. | |
| #2253 docs: add charm docs exemplars links | charmcraft | merged | Merged after approval and CI checks. Added links to charm documentation exemplars to improve guidance. Updated one file with 34 additions and 5 deletions as part of a documentation standardization initiative. | |
| #471 config: add charm part to documentation (CRAFT-356) | charmcraft | merged | Merged changes adding charm configuration documentation to the configuration schema. Approved by two reviewers with zero unresolved comments. Updated two files with 15 additions and one deletion. Resolves CRAFT-356. | |
| #2262 docs: hotfix for links syntax for charm docs examples | charmcraft | merged | Merged following approval by three reviewers. The change corrected link syntax in the Manage charms documentation and added a Charmhub Discourse link. All required CI checks passed before integration. | |
| #2464 docs: add related links section to docs homepage | charmcraft | merged | Merged PR adding a relatedlinks section to the Charmcraft documentation homepage. Initial CI failures were resolved by rebasing after PR #2466 fixed a line length constraint. Approved by two reviewers and successfully merged. | |
| #2010 docs: add, refactor, and reformat discourse docs feat. charmcraft | charmcraft | merged | Merged documentation updates adding, refactoring, and reformatting Discourse content for Charmcraft into the ReadTheDocs project. Includes markdown to RST conversion, linter fixes, and structural improvements. Approved with noted future adjustments. | |
| #2601 docs: Redo in-page links for: Mange charm revisions, Manage the current charmhub user, and Manage tracks | charmcraft | merged | Merged documentation update fixing in-page links and adding introductory sentences to three how-to guides. Reviewer feedback was implemented before merge, completing a series for the Open Documentation Academy. | |
| #395 Update the default bundle from `charmcraft init` | charmcraft | merged | Merged after reviewer approval and conflict resolution. Updates the charmcraft init default bundle with improved metadata examples, splits developer instructions to CONTRIBUTING.md, and clarifies README setup steps. | |
| #2659 docs: remove charmhub config | charmcraft | merged | Merged into main. Documentation references to charmhub were removed while keeping the underlying code intact for backward compatibility. Closes issue 1787 after reviewer approval and CI validation. |