# I want to develop a plugin, are there the latest guides on developing plugins here?

**URL:** https://meta.discourse.org/t/topic/391136
**Category:** Development
**Created:** [December 12, 2025, 9:59am UTC](https://meta.discourse.org/t/topic/391136 "2025-12-12T09:59:18Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![singi2016cn](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/singi2016cn/32/532755_2.png) [@singi2016cn](https://meta.discourse.org/u/singi2016cn)
#### Post date: [December 12, 2025, 9:59am UTC](https://meta.discourse.org/t/topic/391136/1 "2025-12-12T09:59:18Z")

</div>

I want to develop a plugin. Are there the latest guides on plugin development here?

The current development guide’s plugin section is too old, much of it is outdated. It’s too misleading for beginners.

---

<div class="post-metadata">

### Author: ![zogstrip](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/zogstrip/32/512781_2.png) [@zogstrip](https://meta.discourse.org/u/zogstrip)
#### Post date: [December 12, 2025, 11:25am UTC](https://meta.discourse.org/t/topic/391136/2 "2025-12-12T11:25:17Z")

</div>

> [@singi2016cn](#):
>
> The current development guide’s plugin section is too old, much of it is outdated.

Can you share specific examples so we can fix it?

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [December 12, 2025, 11:48am UTC](https://meta.discourse.org/t/topic/391136/3 "2025-12-12T11:48:42Z")

</div>

Do what jazz players do and learn from the records #Customization > Plugin

Look at the source code of major plugins and cross reference that with what they do functionally.

You can pick up a lot from source code.

---

<div class="post-metadata">

### Author: ![singi2016cn](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/singi2016cn/32/532755_2.png) [@singi2016cn](https://meta.discourse.org/u/singi2016cn)
#### Post date: [December 15, 2025, 1:43am UTC](https://meta.discourse.org/t/topic/391136/4 "2025-12-15T01:43:25Z")

</div>

Thank you very much, I will try it. Are there any recommended plugins for beginners to reference?

---

<div class="post-metadata">

### Author: ![singi2016cn](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/singi2016cn/32/532755_2.png) [@singi2016cn](https://meta.discourse.org/u/singi2016cn)
#### Post date: [December 15, 2025, 1:48am UTC](https://meta.discourse.org/t/topic/391136/5 "2025-12-15T01:48:28Z")

</div>

For example, [Developing Discourse Plugins - Part 2 - Connect to a Plugin Outlet](https://meta.discourse.org/t/developing-discourse-plugins-part-2-connect-to-a-plugin-outlet/31001), the explanation of [Handlebars](https://guides.emberjs.com/v4.12.0/components). In the current Ember 6.8 version, it seems that templates are all `.gjs` instead of `.hbs`, and I see that the plugins also use `.gjs`. This temporarily prevents me from understanding the difference, whether to use `.hbs` or `.gjs`. If the tutorial could be directly updated to say that using `.gjs` is now recommended, then I would not have the confusion mentioned above, saving my time. This might have historical reasons, but I think the documentation should be updated to the latest best practices. At least, it would be more friendly to newcomers. Because understanding these historical reasons often takes a lot of time, and this is not very useful for getting started with plugin development; instead, it can be discouraging and intimidating.
