create-gnome-extension
v1.0.0
Published
Scaffolding tool for GNOME Shell extensions
Readme
create-gnome-extension
create-gnome-extension is a community maintained scaffolding tool to build GNOME Shell extensions.
Developing a GNOME Shell extension
To get started with developing GNOME Shell extensions, visit gjs.guide. It has tutorials and guides written by the GNOME community.
If you need more help, you can use the following channels
Usage
To use create-gnome-extension run the following command in a terminal.
npm create gnome-extension@latestYou will be asked some questions to determine which files to include in your project.
Project Structure
The following file structure will be created when running npm create gnome-extension. Depending on the options passed to create-gnome-extension, some files may not be included in your project.
project-directory/
├── data/
├── po/
├── scripts/
├── src/
│ ├── schemas/
│ │ └── org.gnome.shell.extensions.project-name.gschema.xml
│ ├── extension.[js|ts]
│ ├── prefs.[js|ts]
│ └── stylesheet.css
├── metadata.json
└── ...data/contains files that will be bundled into a GResource file when building your extension.po/contains files for the translation of your project. The template file (*.pot) lists all translatable strings. Translators will use this template to create translation files (*.po).scripts/consists of scripts to build and install your extension. The scripts have--helpflags. They can also be called via the npm scripts inpackage.json.src/is where the actual source code of your extension will reside.extension.jsis the main entry point,prefs.jsis the entry point for your preference window.metadata.jsonprovides information about your extension for GNOME Shell's extension system.
Other files may be included but they aren't directly related to extension development. For instance, configuration files for tools like Prettier or ESLint.
License
This software is distributed under the terms of the GNU General Public License, version 2 or later. See the license file for details.
