How is the Discourse folder structure organized?

I’m trying to get a high-level view of where everything goes in the Discourse folder structure, but I haven’t been able to figure out a few things like the difference between app/ and jsapp/.

This is my current understanding of the most important folders. Let me know if I’m wrong about something:

  • adminjs/ - The Admin panel accessible by going to https://MY_SITE/admin
  • jsapp/ - No idea
  • app/assets/javascripts/
    • admin/ - How is this related to adminjs/?
    • discourse/app - the main client app functionality goes here
    • discourse-common/ - Functionality shared across multiple discourse subsystems?
    • discourse-hbr/ - Raw handlebars parser?
    • discourse-widget-hbs/ - Some handlebars thing

This is just a symlink to app/assets/javascripts/admin

Likewise, a symlink to app/assets/javascript/discourse

It’s the code for FEATURE: Use Glimmer compiler for widget templates · discourse/discourse@dffb1fc · GitHub


Ah, thanks! Now I know what those arrows in the VS Code sidebar mean. :sweat_smile:

I just disabled “Search: Follow Symlinks” so I don’t go crazy when looking for stuff