Coder Social home page Coder Social logo

gitlab-tui's Introduction

Gitlab TUI ๐Ÿš€

Continuous Integration Crates.io

A TUI app for interacting with GitLab issues and merge requests.

image

Installation โš™๏ธ

Cargo ๐Ÿ“ฆ

You can use Cargo to download, compile, and install Gitlab TUI on your machine:

cargo install gitlab-tui

Setup ๐Ÿ› ๏ธ

To authenticate the GitLab API, Gitlab TUI uses the same .netrc config that Git uses for HTTP cloning. If you have already set up Git with .netrc, there is a good chance it will work immediately. If not, you will need to create one:

  1. Create an API token in GitLab with read-api scope.

  2. Create a .netrc file:

    • On Linux and macOS:

      touch ~/.netrc
    • On Windows:

      New-Item ~/.netrc
  3. Create an entry for your GitLab instance:

    • For GitLab.com:

      machine gitlab.com
        login __token__
        password <YOUR_TOKEN>
      
    • For self-hosted GitLab:

      machine <YOUR_GITLAB_INSTANCE>
        login __token__
        password <YOUR_TOKEN>
      

That's it! Now just cd into your repo and run gitlab-tui. The program will parse your Git SSH or HTTP remote to figure out the GitLab API URL and fetch all issues and merge requests of your project.

Usage ๐Ÿš€

The binary is called gitlab-tui. You can bring up the UI by running it without any arguments. If you need to use a different remote than origin, you can use the -r flag to override the remote.

gitlab-tui's People

Contributors

niklastreml avatar

Stargazers

Maxence avatar  avatar Bill Finger avatar Alexey Vostrikov avatar Tom avatar

Watchers

 avatar  avatar

gitlab-tui's Issues

Feat: Fetch real data from gitlab api

Currently the app uses hardcoded example data. Instead, it should fetch actual live data from a gitlab instance. This issue will serve as a tracking issue.

Todo

  • Authentication
    • Get Gitlab instance from configured remote
    • Use token in ~/.netrc
  • Data fetching
    • Evaluate whether we can listen to events, otherwise routinely fetch data
    • Implement data fetching

Feat: Basic UI

Create a basic ui that shows an overview of merge requests and issues. It should also be possible to read discussions under issues and merge requests.

  • Drawing
    • List of issues
    • List of merge requests
    • Issue details
    • Merge request details

Display errors

The app should have a way of showing error messages to the user

Feat: Pick remote

When multiple remotes are configured for a repository, the user should be able to choose the remote the want to use. If the remote origin is not a valid gitlab instance, instead of shutting down, we should either display an error if it's the only configured remote, or the user should be able to pick one of the existing ones

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.