zmkfirmware / zmk

ZMK Firmware Repository
https://zmk.dev/
MIT License
2.62k stars 2.69k forks source link

ZMK CLI #34

Open innovaker opened 4 years ago

innovaker commented 4 years ago

From:

innovaker commented 4 years ago

Should build upon multiplatform exploration started by #12 and #26.

innovaker commented 3 years ago

@petejohanson, would we still like to proceed with this idea - not as a replacement for setup.sh - but as a development tool?

If so, then let's add it to Hacktoberfest.

petejohanson commented 3 years ago

I'm kind of on the fence here. To a certain degree, this "hides" west, but only so well. I would rather consider what we really want to get from such a tool before we suggest it fora newcomer. Having someone spend a bunch of time on something, that we then say "Nah, that's not what we want!" really would stink.

okke-formsma commented 3 years ago

I have set up one west command (west test) as a proof of concept; https://github.com/zmkfirmware/zmk/pull/385

caksoylar commented 1 year ago

For reference, @joelspadin developed https://github.com/joelspadin/zmk-setup-script that currently encapsulates the user setup script in a Python-based CLI that uses an extensible zmk module.

joelspadin commented 1 year ago

After using QMK again recently, I was thinking of borrowing some ideas from that, such as having a command such as zmk install which creates a config repo and remembers where it is, and then all further commands run from anywhere will operate on that repo unless otherwise specified.

That setup script might then be split across zmk install and zmk add-keyboard commands, with zmk being a script you can pip install.

joelspadin commented 3 weeks ago

https://github.com/joelspadin/zmk-cli is an attempt to do this. It currently handles

It does not currently handle flashing keyboards, but that could potentially be implemented.

It intentionally does not handle building the firmware or setting up a dev environment. I currently consider that out of scope for what this tool is intended to do, but if enough people want that, we could try adding it.

Townk commented 3 weeks ago

I wish I knew about this project before I created my zmk-cli. Although yours and mine are dealing with different things, the fact that yours will become part of the ZMK docs, will force me to think on a different name.

Any plans to have the tool dealing with local build setup? I would be happy to archive my thing if your tool can handle that part.

joelspadin commented 3 weeks ago

Setting up local builds isn't currently an area I've been focused on. My primary goal was to make a tool to replace the separate bash and PowerShell setup scripts, but I'm not opposed to adding more subcommands to handle common tasks for local builds.

What particular parts of setting up a local build do you find difficult? Just running a local build that matches the GitHub build?

Townk commented 3 weeks ago

What particular parts of setting up a local build do you find difficult? Just running a local build that matches the GitHub build?

It’s not difficult, it’s tedious and whenever you have to do some special thing for the build, you then have to replicate that on your build.yaml so your GA can work as your local. Anyway, this PR is not about that, I’ll continue the discussion in the tool’s repo.