Maicon Vieira

menu hamburger

Wstaion

A project by Maicon Vieira. Visit maiconvieira.dev to see other projects and more about me.

What's Wstaion?

Wstation: A personal CLI assistant designed to streamline software development workflows. Developed as a deep dive into C programming logic and a practical tool for everyday productivity.

Why C?

mindblow gif

Inspired by Harvard’s CS50, I chose C to build Wstation. My goal was to move away from high-level abstractions and embrace the discipline of low-level programming, gaining full control over memory management and system resources.


Usage

Actual features

  • Command Persistence: Save your frequent commands and paths in a local configuration file.
  • Batch Execution: Run all your daily tools (VS Code, Browser, Docker, etc.) with a single command.
  • Cross-Platform Ready: Conditional compilation for Windows and Unix-based systems (Linux/macOS).
  • Clean Management: Easily add, list, or remove paths from your workspace.

Quick Start

compilation

To use the program, do you need compile


Linux

linux typing in a computer

Requisites

Clone the repository on GitHub

                
    git clone https://github.com/maiconjsv/wstaion.git
    cd wstaion      
                
            

Compile with make in the root directory

                
    make
                
            

Or manually using

                
    gcc main.c -o wstaion
                
            

To be able to run the state from anywhere in the terminal, move the binary to /usr/local/bin.

                
    sudo mv wstaion /usr/local/bin/
                
            

Windows

dog from windos

To compile Wstaion in Windows, do you need MinGW-w64 compiler or use git bash to type input make(For the sake of your patience, I recommend git bash.)

Download the project

                
    git clone https://github.com/maiconjsv/wstaion.git
    cd wstaion/wstaion
                
            

When you compile the wstaion.exe, do you need move the executable to

                
    C:\Users\YourUser\bin\wstaion.exe
                
            
  1. Add the folder to the user's PATH Press Win + R
  2. Type: sysdm.cpl
  3. Go to the Advanced tab
  4. Click on the environment variables
  5. Under User variables, select path
  6. Add: C:\Users\YourUser\bin
  7. Confirm everything with OK

⚠️ Use only User variables. Administrator permission is not required.


MacOS

mac os meme

Ha ha, no


If i need update to the last release?

Actually i don't have a install manager, so you will need:

                
    git pull https://github.com/maiconjsv/wstaion.git
    make clean
    make
                
            

This will recompile and compile again with the last release.

Commands

Help

To get commands info:

                
    wstaion help
                
            
Check version
                
    wstaion -v 
                
            

Or

                
    wstaion --version
                
            
WorkStart

Add a program to start

You can map a program by typing its full root path

                
    wstaion add path "/usr/bin/firefox"
                
            

Remove a program

To remove an added path, simply use the rm command.

                
    wstaion rm path "/usr/bin/firefox"
                
            

Start the work environment:

Now, to start the programs, simply use the following command.

                
    wstaion workstart
                
            

Workstart will start every program listed in add path, program by program.

Now, you dont need open every program when you start your job 🙂


Contribute

a funny cat typing in a laptop

As you can see, Wstaion is still in its initial phase of development. My goal is to create a CLI tool that helps developers improve productivity and also supports beginner developers with future features that I plan to add.

Wstaion is an open source project and contributions are always welcome. If you'd like to help improve the project, follow the steps below:

To contribute:

Go in https://github.com/maiconjsv/wstaion

  1. Fork the repository on GitHub
  2. Clone your fork to your local machine
  3. Create a new branch for your changes
  4. Make your improvements or fixes
  5. Commit and push your changes
  6. Open a Pull Request

You can contribute by fixing bugs, improving documentation, suggesting new features, or helping with code improvements.