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

**URL:** <https://discuss.kde.org/t/introducing-prasmoid-a-cli-tool-to-level-up-your-kde-plasmoid-development-workflow/37857>\
**Category:** Development\
**Tags:** plasmoid\
**Created:** [July 30, 2025, 5:53am UTC](https://discuss.kde.org/t/introducing-prasmoid-a-cli-tool-to-level-up-your-kde-plasmoid-development-workflow/37857 "2025-07-30T05:53:05Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![prassamin](https://discuss-cdn.kde.org/user_avatar/discuss.kde.org/prassamin/32/23805_2.png) [@prassamin](https://discuss.kde.org/u/prassamin)\
**Post date:** [July 30, 2025, 5:53am UTC](https://discuss.kde.org/t/introducing-prasmoid-a-cli-tool-to-level-up-your-kde-plasmoid-development-workflow/37857/1 "2025-07-30T05:53:05Z")

</div>

**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 😉)
- `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](https://github.com/PRASSamin/prasmoid)

Let me know what you think!

---

<div class="post-metadata">

**Author:** ![krake](https://discuss-cdn.kde.org/user_avatar/discuss.kde.org/krake/32/17398_2.png) [@krake](https://discuss.kde.org/u/krake)\
**Post date:** [August 16, 2025, 3:01pm UTC](https://discuss.kde.org/t/introducing-prasmoid-a-cli-tool-to-level-up-your-kde-plasmoid-development-workflow/37857/2 "2025-08-16T15:01:43Z")

</div>

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

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/bin`and using option 2) and this worked as expected 🙂  
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` 😃

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 🥳
