- Smalltalk 99.1%
- Python 0.9%
|
All checks were successful
Test Pulsar / test (push) Successful in 1m49s
|
||
|---|---|---|
| .ci/scripts | ||
| .forgejo/workflows | ||
| resources | ||
| src | ||
| .gitignore | ||
| .project | ||
| LICENSE | ||
| LICENSE-FileType-icons | ||
| LICENSE-Templarian-MDI | ||
| README.md | ||
Pulsar: A coding-first IDE for Pharo.
Pulsar brings Pharo's live, reflective development model into a focused, project-oriented workspace. It combines the tools expected from a contemporary IDE—editors, navigation, version control, tests, diagnostics, files and terminals—without giving up the immediacy of working inside a live image.
Pulsar is built with Spec, GTK 4 and libadwaita, and is designed to feel at home on the desktop rather than like an isolated world of its own.
Project status: Pulsar is under active development. Nightly builds are available, but there is no stable release yet and some workflows are still evolving. Please report rough edges: early feedback is especially useful now.
Pulsar was presented at ESUG 2026, where it received first prize in the Innovation Awards.
What is in Pulsar today?
- A project and package browser with tabbed class and method editors.
- Fast navigation across projects, packages, classes, methods and open editors.
- Integrated Git repositories, branches, working changes and history.
- A test runner, code critiques and source-change recovery tools.
- Live debugging, inspection, playgrounds and transcripts.
- File-system browsing and integration with native terminals.
- Extensible panels and early integrations for CLI coding agents.
Pulsar is not an attempt to make Pharo behave like a conventional static language. The goal is to give its live environment a coherent, efficient workspace for everyday development—and to make the path from writing code to understanding its effects as short as possible.
Install
The installer downloads the latest nightly Pulsar image and, with -m, a
compatible Pharo VM. It creates a pulsar launcher in the current directory.
Linux
You need curl, tar and Flatpak installed on the host.
mkdir -p pulsar && cd pulsar
curl -L https://forge.smallworks.eu/pharo/Pulsar-installers/raw/branch/main/install-linux.sh | bash -s -- -m
./pulsar
The VM is installed as a per-user Flatpak. The bundle includes the native libraries Pulsar needs, so it does not interfere with libraries installed by the traditional Pharo ZeroConf distribution.
macOS
mkdir -p pulsar && cd pulsar
curl -L https://forge.smallworks.eu/pharo/Pulsar-installers/raw/branch/main/install-macos.sh | bash -s -- -m
./pulsar
Windows
The native Windows distribution is temporarily unavailable because of a limitation in the current FFI architecture. Until that is resolved, Pulsar can run through WSL.
On an Ubuntu or Debian WSL installation, prepare Flatpak support first:
curl -L https://forge.smallworks.eu/pharo/Pulsar-installers/raw/branch/main/support/setup-pulsar-wsl-flatpak.sh | bash
Then follow the Linux installation instructions above.
Installer options
Use -d <directory> to choose a destination, -v YYYY-MM-DD to install a
particular nightly, and -o to replace an existing installation. See the
installer repository
for complete usage and platform notes.
Nightly packages can also be downloaded directly.
Run Pulsar with an existing VM
On Linux, omit -m if a compatible pharo command is already available:
curl -L https://forge.smallworks.eu/pharo/Pulsar-installers/raw/branch/main/install-linux.sh | bash
./pulsar
Do not use the ZeroConf VM for Pulsar: its bundled libraries can take precedence over the GTK stack Pulsar expects.
The underlying command is:
pharo --worker Pulsar.image openPulsar
Build from source
You do not need to build Pulsar to use it; the nightly pipeline produces a ready-to-run image every day.
Pulsar currently targets Pharo 14. Its build requires GTK 4, GtkSourceView 5, libadwaita, libpanel, librsvg and VTE, plus access to the project dependencies hosted on the Smallworks forge.
The authoritative build process lives in .ci/scripts. In an
environment with those dependencies and a compatible pharo command:
git clone https://forge.smallworks.eu/pharo/Pulsar.git
cd Pulsar
mkdir build && cd build
python3 ../.ci/scripts/build.py
The resulting archive is written below build/dist/.
Contributing
Pulsar is at a stage where testing, bug reports, design feedback and code are all valuable. If something breaks—or if a workflow feels heavier than it should—please open an issue.
For code contributions:
- Create a branch from
main. - Keep the change focused and include tests when appropriate.
- Open a pull request explaining the problem and the chosen approach.
License
Pulsar is distributed under the GNU General Public License v3.0.
The bundled Material Design Icons and file-type icons retain their respective licenses.