GithubHelp home page GithubHelp logo

glance's Introduction

Glance

When a project spans multiple repositories, it can be hard to keep track of the status and activity of the whole thing. A full dashboard is probably overkill, so this tool gives lightning-fast, summarized view of what's going on across multiple repositories - a glance.

Project Status

This project has just begun.

If you have ideas for design, architecture, or implementation, please join the discussions in the relevant issues and make your voice heard. If you want to contribute to the project please star/watch the repository to get notifications when new issues are added.

glance's People

Contributors

rorybyrne avatar

Stargazers

Dmytro Prokhorenkov avatar Marek Dano avatar Nekloth avatar Jekotia avatar William Allen avatar Ilmari Vacklin avatar Leonardo Del Gesso avatar Codes avatar  avatar Sudhanshu Siddh avatar Rodrigo Freitas avatar Kamil Maraz avatar Dr John Tunnicliffe avatar  avatar Lakshya Kapoor avatar Cesar Caetano Neto avatar Henrique Carvalho da Cruz avatar Mike Dougherty avatar AshersLab avatar Takeshi Kaneko avatar WenYu Lee avatar Devon DeJohn avatar Travis Wyatt avatar Sam Mingo avatar Ian Smith avatar  avatar cocoonk1d avatar Zachary Loeber avatar Claudio Canales avatar

Watchers

Marek Dano avatar Chinmay avatar  avatar  avatar Chris Scott-Thomas avatar

glance's Issues

The tool should be able to naively authenticate against Github

Current Situation

There is no authentication implemented.

Enhancement

The tool should be able to communicate with the Github API via authenticated requests.

Reasoning

The tool must be able to access private repositories.

Implementation

This can be built into the git/ directory as a method on the Github class.

Tasks

  • ???

The renderer should be able to render a series of components in a grid structure

Enhancement

When summarizing meta-info for more than one repository (which is the point of this tool), it will be necessary to display each repository's information separately. A grid structure could work, with N rows of M columns.

This is like what can be seen in the README image.

Reasoning

We'd like to display the summary for each repository in a nice structure via the CLI.

Implementation

It looks like Rich has the concept of columns, so perhaps we can use this.

Tasks

  • ???

Purpose, scope, and approach

What problem or problems is this tool trying to solve?

Which problems are in-scope, and which are clearly not appropriate for this tool to attempt to solve?

At a high-level, how can we go about solving those problems?

Choice of technology

This is fairly self-explanatory.

Specifically, decisions need to be made on:

  • Language choice
  • CLI input parser
  • CLI UI renderer
  • Should YAML be the format-of-choice for representing a "view"
  • ???

The tool should be able to list the branches of a repository matching a given regex pattern

Enhancement

A simple command like glance run --repo XYZ --branch-pattern "release-*" should return a list of branches matching the pattern.

Reasoning

This is the MVP of multi-repo visibility.

Implementation

To do this, we'll need:

  • A Github API wrapper implementation in git/
  • A simple view in views/
  • A command in cli/
  • A naive_list component in render

Tasks

  • Write an API wrapper to fetch the branches of a given repository
  • Create a naive_list component to render the branches
  • Create a view to orchestrate the operation
  • Create a CLI command to act as the entrypoint

Components and architecture

It's hard to suggest an architecture before we've nailed down exactly what problem the tool is trying to solve.

Some assumptions about what the components and architecture will need to achieve:

  • Glance should in some way aggregate information from multiple repositories
  • Glance needs to infer some facts about the topology of the repositories (e.g. branch naming schemes)
  • Glance needs to know which aggregations are valuable to the user. Perhaps the user can specify this via the CLI.

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.