Introducing Prasmoid: A CLI Tool to Level Up Your KDE Plasmoid Development Workflow

Hello everyone

I’m a huge KDE Plasma fan and have been messing around with plasmoid dev for a while now. But maaaan, you ever feel like you’re spending more time doing the same boring setup/build/package than actually building cool stuff? Yeah… same here.

So I cooked up a little something to fix that: Prasmoid, a CLI tool I made to take the annoying parts out of plasmoid development and let us just vibe with the code.


What does it do?

Prasmoid’s meant to be your all-in-one plasmoid dev buddy. Here’s what it’s packing:

  • prasmoid init: Sets up a new plasmoid project from scratch. Asks you a few things, then boom, your folder’s ready to go. No boilerplate hustle.
  • prasmoid preview --watch: This one’s clutch. Opens your plasmoid in a preview window, and auto-restarts it on file save. (Yup, full restart, not internal hot reload… yet :wink:)
  • prasmoid i18n: Handles your translation workflow: .pot/.po file gen, .mo compilation, all handled.
  • prasmoid build: Packs your project into a tidy .plasmoid file, ready for the store or sharing.
  • prasmoid format: Cleans up your QML files so you don’t have to waste braincells on whitespace.
  • prasmoid changeset: Helps track versions and changelogs without doing it all manually.

Bonus: Custom commands with JS

Prasmoid comes with its own mini JavaScript runtime (baked in using Goja), so you can write project-specific commands using JS. kinda like mini Node.js scripts, but you don’t need Node installed at all. It’s completely self-contained. Want to automate some funky project-specific logic? You got it.


Honestly, I built this to scratch my own itch. and it ended up saving me a ton of time. Now I’m hoping it helps other Plasma devs too.

The whole thing’s open-source, and I’d love your feedback. Whether you just try it out, toss in ideas, or wanna help improve it. you’re more than welcome!

GitHub: https://github.com/PRASSamin/prasmoid

Let me know what you think!

6 Likes

This sounded pretty cool (and apparently is :wink:) but I didn’t have time until today to try this out :see_no_evil_monkey:

First I tried a couple of the other installation methods:

All on KDE Neon 6.4

  1. Flatpak: installed flawlessly but failed in init after locale selection
    Failed to initialize plasmoid: no supported package manager found: map[apt:apt dnf:dnf nix-env:nix pacman:pacman]
  2. Snap: same as Flatpak
  3. Go (with the command from the web/README) failed:
    go: 'go install' requires a version when current directory is not in a module Try 'go install github.com/PRASSamin/prasmoid@latest' to install the latest version
    Running the suggested alternative did result in $HOME/go/prasmoid but running it resulted in
    System Monitor CLI Handler
    Usage:
    go run main.go [command]
    Available Commands:
    build Build the cli
    watch Watch the cli for auto development build'
  4. Debian package failed due to package conflict:
    dpkg:error processing archive prasmoid_0.0.3-1_amd64.deb (--install):
    trying to overwrite '/usr/bin/qmlformat', which is also in package qtchooser 66+p24.04+vrelease+git20240903.0820-0
  5. Finally tried the install script (but modified to install to /usr/local/binand using option 2) and this worked as expected :slight_smile:
    Well, it does suggest there is an “update” available (same but non-portable version)
    Prasmoid update available! 0.0.3-portable → 0.0.3

After sucessfully completing init I saw small bug in the output
Next steps:
1. cd PrasmoidTest
2. plasmoid preview

The second command suggestion should probably be prasmoid preview :smiley:

The Plasmoid Viewer didn’t exit on window close but that is likely out of your control.

link, unlink, and build worked perfectly!

Will need to play around some more but so far it looks amazing :partying_face:

1 Like