No description
  • Smalltalk 99.2%
  • Python 0.8%
Find a file
Esteban Lorenzano 55a1bcf507
All checks were successful
Test Pulsar / test (push) Successful in 1m48s
more no-flatpak explanation
2026-10-20 20:31:31 +02:00
.ci/scripts add color extensions (required for purple colors of git river) 2026-09-22 09:22:34 +02:00
.forgejo/workflows 6 utc is too late, make it one hour before 2026-05-27 08:02:38 +02:00
docs add documentation first pass 2026-09-09 09:47:28 +02:00
resources pass on panel agents, added "update comment" option 2026-10-16 16:08:52 -03:00
src comment, format and commit info panel starts hidden. 2026-10-20 17:20:27 +02:00
.gitignore add another ignore 2026-06-23 23:17:19 +02:00
.project experimental (very) 2021-07-08 14:44:03 +02:00
LICENSE add author 2026-09-21 11:21:11 +02:00
LICENSE-FileType-icons add file types 2026-06-06 18:54:31 +02:00
LICENSE-Templarian-MDI add licenses 2026-01-27 09:55:31 +01:00
README.md more no-flatpak explanation 2026-10-20 20:31:31 +02:00

Pharo logo Pulsar logo

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

Default install require 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.

Notice: You can avoid using Flatpak by not passing the -m option.
In that case, you will need a working pharo-vm (NOT zeroconf) plus a set of system dependencies (the exact list may vary as development progresses). A startup check will tell you what is missing before aborting.
Check Run Pulsar with an existing VM section for details on how to get it running.
Since it is easier to maintain and guarantees that all dependencies are available with the right versions, we recommend using Flatpak.

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:

  1. Create a branch from main.
  2. Keep the change focused and include tests when appropriate.
  3. Open a pull request explaining the problem and the chosen approach.

License

Pulsar is distributed under the MIT License.

The bundled Material Design Icons and file-type icons retain their respective licenses.