Cerebro is an open-source productivity tool designed to streamline workflows and enhance efficiency. It serves as a unified platform that integrates various applications and tools into one interface, allowing users to access everything they need in seconds.
Key features of Cerebro include:
Unified Search Interface: Quickly locate files, applications, and web content with a single search query.
Application Integration: Seamlessly connect with popular apps and services, enabling task management and file handling within the launcher.
Keyboard Shortcuts: Customize shortcuts to launch apps or perform tasks without lifting your hands from the keyboard.
Customization Options: Tailor Cerebro's appearance and behavior to suit personal preferences with themes and plugins.
Cross-Platform Support: Available on multiple operating systems, ensuring consistent productivity across different environments.
Regular Updates: The open-source community actively contributes improvements, keeping the tool up-to-date with user needs.
Ideal for productivity enthusiasts, developers, and busy professionals, Cerebro helps save time by reducing the number of clicks and keystrokes needed to perform tasks. It can be installed via winget, making setup straightforward. Experience enhanced efficiency and focus with a tool built to adapt to your workflow.
README
Cerebro
> Cerebro is an open-source launcher to improve your productivity and efficiency
Usage
You can download the latest version on the releases page.
After the installation, use the default shortcut, ctrl+space, to show the app window. You can customize this shortcut by clicking on the icon in the menu bar, and then selecting "Preferences...".
Plugins
Core plugins
Search the web with your favourite search engine
Search & launch application, i.e. spotify
Navigate the file system with file previews (i.e. ~/Dropbox/passport.pdf)
Calculator
Smart converter. 15$, 150 рублей в евро, 100 eur in gbp;
Install plugins
You can manage and install more plugins by typing plugins in the Cerebro search bar.
> Note: in CI we use yarn build as there is an action to package and publish the executables
Install executable on Linux
If you're a linux user, you might need to grant execution permissions to the executable. To do so, open the terminal and run the following command:
sudo chmod +x
Then, you can install the executable by running the following command:
If you're using the AppImage executable:
./
If you're using the deb executable:
dpkg -i
> On some computers you might need run these commands with elevated privileges (sudo). sudo ./ or sudo dpkg -i
Contributing
CerebroApp is an open source project and we welcome contributions from the community.
In this document you will find information about how Cerebro works and how to contribute to the project.
> ⚠️ NOTE: This document is for Cerebro developers. If you are looking for how to develop a plugin please check plugin developers documentation.
A basic Electron app is composed of a main process and a renderer process. The main process is responsible for the app lifecycle, the renderer process is responsible for the UI.
This two-renderer process architecture is used to keep the main renderer process (Cerebro) responsive and to avoid blocking the UI when executing long tasks.
When we need to execute a long task we send a message to the background process, which executes the task asynchronously and sends a message back to the main renderer when the task is completed.
This is the way we implement the plugins system. Their initializeAsync method is executed in the background process.
AssertionError: Current node version is not supported for development on npm postinstall.
After yarn postinstall script checks node version. If you see this error you have to check node and npm version in package.jsondevEngines section and install proper ones.
Uncaught Error: Module version mismatch. Exepcted 50, got ...
This error means that node modules with native extensions build with wrong node version (your local node version != node version, included to electron). To fix this issue run yarn --force
Conventional Commit Format
The project is using conventional commit specification to keep track of changes. This helps us with the realeases and enforces a consistent style.
You can commit as usually following this style or use the following commands that will help you to commit with the right style:
yarn cz
yarn commit
Publish a release
CerebroApp is using GH actions to build the app and publish it to a release. To publish a new release follow the steps below:
Update the version on both package.json and app/package.json files.
Create a release with from GH and publish it. 🚧 The release tag MUST contain the v prefix (❌ 0.1.2 → ✅v0.1.2).
Complete the name with a name and a description of the release.
The GH action is triggered and the release is updated when executables are built.