CodeClimbersIO / cli

The cli for the project
MIT License
5 stars 6 forks source link

CLI: Replace wakatime CLI as ingestion for heartbeats from plugins #52

Open rphovley opened 1 month ago

rphovley commented 1 month ago

Our project currently just acts as a secondary proxy from the wakatime CLI from the plugins that wakatime supports.

We want to upgrade our CLI so that the wakatime CLI is no longer used and our CLI supports all of the essential commands for backwards compatiblity with wakatime plugins. This will allow us to make improvements to our CLI and extensions independent of wakatime's direction going forward.

https://github.com/wakatime/wakatime-cli

JorgeDuranAlcala commented 1 month ago

Hi, I have a question, you no longer want to use oclif/core ?

rphovley commented 1 month ago

Still want to use oclif for the CLI foundation

JorgeDuranAlcala commented 1 month ago

Ok so you wannna do something like this https://wakatime.com/help/creating-plugin or you wanna create something to seggregate the business logic from the implementation of wakatime ?

rphovley commented 1 month ago

So, no change to the interface between a plugin and the CLI it sends the activity to. Right now the pass of data looks something like this: plugin -> wakatime CLI -> CodeClimbers CLI

This change would update the pass of data to remove the wakatime CLI so that it looks like: plugin -> CodeClimbers CLI

There's other processing that the wakatime CLI does, but that can be an augmentation in the future. Goal in first implementation is to keep it simple

JorgeDuranAlcala commented 1 month ago

Is the plugin a nodejs client or lives in a browser ? because we can just create a special endpoint to communicate with it

rphovley commented 1 month ago

The plugins are from a variety of places. Here's all of the wakatime plugins: https://wakatime.com/plugins.

There are browser plugins for chrome, firefox, safari, etc... but yeah, each application gets its own plugin to communicate application activity. For example, to track VSCode, I install the VSCode plugin and it sends data to the Wakatime CLI (and eventually after we get this worked on, just directly to the CodeClimbers CLI). If I wanted to also track browsing time, I would install the chrome plugin to my browser through the chrome store.

charlesnnanna commented 1 month ago

Hi everyone.

@JorgeDuranAlcala, have you started working on this issue or should I pick it up?

JorgeDuranAlcala commented 1 month ago

@charlesnnanna No, I haven't, you can take it if you want bro

charlesnnanna commented 1 month ago

Alright... I'm already on it.

github-actions[bot] commented 4 weeks ago

Due to inactivity you will be unassigned soon and the issue be freed.

github-actions[bot] commented 2 weeks ago

Due to longer inactivity, this issue has been unassigned automatically.