The commands folder should contain all commands that your Pack will add to the Royalnet instances it is installed in.
To learn how to create a new :class:`~commands.Command`, read the :doc:`command` page.
The events folder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The events folder should contain all events (remote procedure calls) that your Pack will add to the Royalnet instances it is installed in.
To learn how to create a new :class:`~commands.Event`, read the :doc:`event` page.
The stars folder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The stars folder should contain all stars (webserver routes) that your Pack will add to the Royalnet instances it is installed in.
To learn how to create a new :class:`~constellation.PageStar`, read the :doc:`star` page.
The tables folder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The tables folder should contain all Alchemy tables (SQLAlchemy-compatible SQL tables) that your Pack will add to the Royalnet instances it is installed in.
To learn how to create a new table, read the :doc:`table` page.
The utils folder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The utils folder should contain the utility functions and classes that your Pack uses.
Its contents are imported **before** the commands, events and stars but **after** the tables, so **you can't import them** in the files contained in the ``tables`` folder, or you will create a `circular import <https://stackabuse.com/python-circular-imports/>`_!
Files in this folder are **forbidden from importing modules** from the ``commands``, ``events`` and ``stars`` folders, as that will create a circular import too.
The types folder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The types folder should contain the enums and custom types that are used in your tables.
Please note that the contents of this folder are imported **before** everything else in the pack.
Its contents **can be imported anywhere** in the Pack, including the ``tables`` folder, without creating a circular import.
However, its files are **forbidden from importing anything else** from the rest of the pack!