.. include:: /Includes.rst.txt .. _publish-extension: ====================== Publish Your Extension ====================== Follow these steps to release your extension publicly in the TYPO3 world: #. :ref:`Publish the source code on a public Git hosting platform ` #. :ref:`Publish your extension on Packagist ` #. :ref:`Publish your extension on TER ` #. :ref:`Publish its documentation in the official TYPO3 documentation ` #. :ref:`Set up translations ` on Crowdin – *TYPO3 - Inspiring people to share* .. index:: Extension development; Git .. _publishExtensionGit: Git === Publish your source code on a public Git hosting platform. The TYPO3 community currently uses GitHub, GitLab and Atlassian Bitbucket to host the Git repositories of their extensions. Typically, the :ref:`extension key ` is used for the repository name, but that is not necessary. **Advantages:** * Contributors can add issues or make pull requests. * Documentation can be published in the official TYPO3 documentation by using a webhook (see below). .. _publishExtensionPackagist: Packagist ========= Publish your extension on `Packagist `__ - the main Composer repository. See their `homepage `__ for more details about the publishing process. **Depends on:** * Public Git repository **Advantages:** * Extension can be installed in a :ref:`Composer based ` TYPO3 instance using `composer require`. * All advantages of being listed in Packagist, for example * Extension can be updated easily with `composer update` .. _publishExtensionTer: TER === Publish your extension in the `TYPO3 Extension Repository (TER) `__ - the central storage for public TYPO3 extensions. See page :ref:`publish-to-ter` for more information about the publishing process and check out the TYPO3 community Q&A at page `FAQ `__. **Advantages:** * Extension can be installed in a :ref:`non-Composer based ` TYPO3 instance using the :ref:`Extension Manager `. * All advantages of being listed in the TER, for example: * Easy finding of your extension * The community can vote for your extension * Users can subscribe to notifications on new releases * Composer package is announced (optional) * Sponsoring link (optional) * Link to the documentation (optional) * Link to the source code (optional) * Link to the issue tracker (optional) .. _publishExtensionDocumentation: Documentation ============= Publish the documentation of your extension in the `official TYPO3 documentation `__. Please follow the instructions on page :ref:`h2document:migrate` to set up an appropriate webhook. **Depends on:** * Public Git repository * Extension published in TER (optional). This is not mandatory, but makes the webhook approval easier for the TYPO3 Documentation Team. **Advantages:** * Easily find your extension documentation, which serves as a good companion for getting started with your extension. .. _publishExtensionTranslation: Crowdin ======= If you use language labels which should get translated in your extension (typically in :file:`Resources/Private/Languages`), you may want to configure the translation setup on https://crowdin.com. Crowdin is the official translation server for TYPO3. This is documented on :ref:`crowdin-extension-integration`. Further reading =============== .. toctree:: :maxdepth: 3 :titlesonly: :glob: PublishToTER/Index