{"id":17046617,"url":"https://github.com/sebobo/shel.neos.commandbar","last_synced_at":"2025-04-12T15:30:44.566Z","repository":{"id":142562279,"uuid":"584672773","full_name":"Sebobo/Shel.Neos.CommandBar","owner":"Sebobo","description":"A commandbar (CMK+K) for Neos CMS","archived":false,"fork":false,"pushed_at":"2025-03-18T21:55:36.000Z","size":3452,"stargazers_count":15,"open_issues_count":13,"forks_count":2,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-26T10:04:17.279Z","etag":null,"topics":["cmdk","commandbar","neos","neoscms"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sebobo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"patreon":"shelzle","github":"sebobo","custom":"https://www.amazon.de/hz/wishlist/ls/JEL60X51G2GA"}},"created_at":"2023-01-03T08:08:18.000Z","updated_at":"2025-03-18T21:55:40.000Z","dependencies_parsed_at":"2024-02-19T10:30:37.787Z","dependency_job_id":"dbd87613-4d48-4ec0-8449-6590ae90745c","html_url":"https://github.com/Sebobo/Shel.Neos.CommandBar","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sebobo%2FShel.Neos.CommandBar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sebobo%2FShel.Neos.CommandBar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sebobo%2FShel.Neos.CommandBar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sebobo%2FShel.Neos.CommandBar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sebobo","download_url":"https://codeload.github.com/Sebobo/Shel.Neos.CommandBar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248589269,"owners_count":21129578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmdk","commandbar","neos","neoscms"],"created_at":"2024-10-14T09:46:54.232Z","updated_at":"2025-04-12T15:30:43.614Z","avatar_url":"https://github.com/Sebobo.png","language":"TypeScript","readme":"# Command bar (CMD+K) plugin for Neos CMS\n\n[![Tests](https://github.com/Sebobo/Shel.Neos.CommandBar/actions/workflows/tests.yml/badge.svg)](https://github.com/Sebobo/Shel.Neos.CommandBar/actions/workflows/tests.yml)\n\nThis package provides a command bar plugin for Neos CMS similar to\nSpotlight, [Raycast](https://www.raycast.com) or [Alfred](https://www.alfredapp.com/). \nIt allows you to quickly search and execute commands and navigate in [NeosCMS](https://neos.io).\n\nCompatible with PHP 8+ \u0026 Neos 7.3+\n\n## Features\n\n* 🔍 Open commandbar via CMD+K or CTRL+K in the Neos content module\n* ⚡️ Quickly search for commands (fuzzy search enabled to handle spelling mistakes)\n* 🔥 Offer most registered hotkeys as selectable commands \n  * some are excluded via configuration as they won't work in the context of the command bar\n  * automatically includes hotkeys from other packages\n* 🧭 Navigation commands\n  * Jump to module\n  * Jump to site\n  * Jump to recently opened documents\n  * Search and open document node\n  * Search and navigate to the Neos documentation (enabled in Development context)\n  * Search and navigate to the Neos plugin repository (enabled in Development context)\n* ➕ Open node creation dialog relative to the current node\n* 📝 Switch edit/preview mode\n* 📰 Publish / discard changes on current page or all changes\n* ⭐️ Mark commands as favourites (stored in Neos user preferences)\n* 🗄️ Store recent commands (stored in Neos user preferences)\n* 🧩 Backend module integration\n  * Open the command bar from within the backend modules which have the module enabled (global inclusion possible with Neos 8.3)\n* 🪛 Extensibility\n  * Add new commands via the provided ´Shel.Neos.CommandBar` registry in your plugin manifests\n  * Full compatibility with [Shel.Neos.Terminal](https://github.com/Sebobo/Shel.Neos.Terminal) -\u003e all available commands for the current user are available\n* 🗣️ Available in English \u0026 German\n\n## Screenshot\n\n![Main window](Documentation/index-commandbar.jpeg)\n\n## Video\n\nCheckout the video introduction on [YouTube](https://youtu.be/z3aVSSDG_nY).\n\n## Installation\n\nRun the following command in your Neos site package\n\n```console\ncomposer require --no-update shel/neos-commandbar\n```\n\nThe run `composer update` in your project root folder.\n\n## Enabling the command bar in additional backend modules\n\nBy default, only the core Neos modules have the command bar enabled as a global inclusion will only be possible with Neos 8.3. \nIf you want to enable the command bar in a backend module, you can do so by adding the following setting:\n\n```yaml\nNeos:\n  Neos:\n    modules:\n      \u003cMODULE_PATH\u003e:\n        submodules:\n          \u003cMODULE_NAME\u003e:\n            additionalResources: \n              javaScripts:\n                Shel.Neos.CommandBar: 'resource://Shel.Neos.CommandBar/Public/Module.js'\n              styleSheets:\n                Shel.Neos.CommandBar: 'resource://Shel.Neos.CommandBar/Public/Module.css'\n```\n\n## Disable branding\n\nIf you supported the development of this package, or you don't want to show the branding, you can disable it via the following setting:\n\n```yaml\nShel:\n  Neos:\n    CommandBar:\n      features:\n        showBranding: false\n```\n\n## Add additional commands\n\nAdditional commands can be added to the UI plugin via the Neos UI extensibility API.\n\nHere is an example `manifest.js` which adds a simple command to the command bar:\n\n```javascript\nimport manifest, { SynchronousRegistry } from '@neos-project/neos-ui-extensibility';\nimport { selectors } from '@neos-project/neos-ui-redux-store';\n\nmanifest('My.Vendor:CommandBarPlugin', {}, (globalRegistry, { store, frontendConfiguration }) =\u003e {\n    globalRegistry.get('Shel.Neos.CommandBar').set('plugins/My.Vendor:Example.Alert', async () =\u003e {\n        return {\n            extensibilityTest: {\n                name: 'Example alert command',\n                icon: 'vial',\n                description: 'Command registered via command bar extensibility',\n                canHandleQueries: true,\n                action: async (query) =\u003e {\n                    const state = store.getState();\n                    const documentNode = selectors.CR.Nodes.documentNodeSelector(state);\n                    window.alert(`The current document node is ${documentNode.label} and the query is ${query}.`);\n                },\n            },\n        };\n    });\n});\n```\n\n## Development\n\n⚠️ This package offers 2 plugins. \n\n1. The Neos.UI plugin built with Neos extensibility React based API to integrate with the Neos.UI and its APIs.\n2. A standalone plugin built with ParcelJS and Preact which is loaded in the Neos backend modules where we have only access to a very lightweight Neos API and no React environment.\n\nWe use yarn workspaces to manage the code for the 2 plugins, the dev server and the shared components.\nMost of the code is shared and only a small wrapper is needed to make the components work in the UI and module environments.\n\nEach plugin has its own setup and build process. The following sections describe how to set up and build each plugin.\n\n### Setup\n\nFirst install all dependencies:\n\n```console\nyarn\n```\n\nFor developing the command bar component itself, you can run the following command to start a dev server:\n\n```console\nyarn dev\n```\n\nTo develop the Neos plugin, you can run the following command to watch for changes and rebuild the plugin:\n\n```console\nyarn watch\n```\n\nOr watch them individually\n\n```console\nyarn watch:ui\nyarn watch:module\n```\n\nTo build both plugins for production, run the following command:\n\n```console\nyarn build\n```\n\nOr run the build for each plugin individually\n\n```console\nyarn build:ui\nyarn build:module\n```\n\n## License\n\nThis package is licensed under the MIT license. See [license](LICENSE.txt) for details.\n","funding_links":["https://patreon.com/shelzle","https://github.com/sponsors/sebobo","https://www.amazon.de/hz/wishlist/ls/JEL60X51G2GA"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebobo%2Fshel.neos.commandbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsebobo%2Fshel.neos.commandbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsebobo%2Fshel.neos.commandbar/lists"}