Git Product home page Git Product logo

bookshelf's Introduction



bookshelf

๐Ÿ“š A CLI tool for tracking your stories in the software development lifecycle

Ruff

๐Ÿ”Ž Tracking your productivity has never been easier




๐Ÿš€ Getting Started

๐Ÿ› ๏ธ Installation

Use pip to install bookshelf:

pip install bookshelf

To optimally set up bookshelf, follow the Getting Started guide in the documentation.

๐Ÿง‘โ€๐Ÿ’ป Usage

The documentation for bookshelf is available at bookshelf.docs.joss.dev and contains a detailed guide on how to use bookshelf.

To list available commands, either run bookshelf with no parameters or execute bookshelf help: The base command for the bookshelf CLI.

Subcommands

Name Description
cancel Cancel the current chapter of a story on your bookshelf
create Create a new story for your bookshelf
finish Finish writing a story on your bookshelf
info Displays the information for a given story on your bookshelf
ls List all the current stories on your bookshelf
rm Remove a story from your bookshelf
start Start a new chapter for a story on your bookshelf
stop Stop the current chapter of a story on your bookshelf
tag Add a new tag a story on your bookshelf
untag Remove a tag from a story on your bookshelf

๐Ÿค Contributing

We're excited that you want to contribute to bookshelf. Your help and contributions are greatly appreciated! Read the contribution guidelines to get started.

๐Ÿ“œ Code of Conduct

We value your contribution and participation in our community. To ensure a positive and inclusive environment for all, we have established a Code of Conduct. Read the Code of Conduct to learn more.

bookshelf's People

Contributors

dependabot[bot] avatar jossmoff avatar

Stargazers

 avatar

Watchers

 avatar  avatar

bookshelf's Issues

โœจ More information in README

Search before asking

  • I have searched in the issues and found no similar issues.

Description

There isn't a lot of information in the README, which will stop us getting traction

Solution

Look at other popular python repos to find good sections to add.

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

:sparkles: Add a merge subcommand

Search before asking

  • I have searched in the issues and found no similar issues.

Description

It could be useful to have a command that allows you to merge to stories. The use case would be if you have two events which are too granular you can then merge them together under a larger story

Solution

Command would look something like

bookshelf [STORY1] [STORY2] [NEWSTORY]

Pseudo code:

Both stories don't exists:
  throw exception
one of the stories is in progress:
  throw exception
merge each of the chapters
create a new story with those chapter 
save the new story
delete the other stories

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

:bug: Install command is wrong in the documentarion

Search before asking

  • I had searched in the issues and found no similar issues.

Version

0.1.0

What's Wrong?

The install command is pip install bookshelf on the docs

What You Expected?

It should be bookshelf-cli

How to Reproduce?

Check the docs

Anything Else?

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

:sparkles: Add a cancel subcommand

Search before asking

  • I have searched in the issues and found no similar issues.

Description

Currently if you start a chapter, you cannot then cancel it. This command is useful to stop and not save chapters.

Solution

The command would be:

bookshelf cancel [STORY]

pseudo code would be something like:

story has no a chapter in progress:
  raise StoryNotInProgressException
remove the current chapter from the story
save story

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

:bug: Documentation issue template is not working

Search before asking

  • I had searched in the issues and found no similar issues.

Version

n/a

What's Wrong?

Issue template isn't loading

What You Expected?

Issue template to load

How to Reproduce?

Just try and create an issue.

Anything Else?

It's due to an extra quotation mark on line 4. Easy fix.

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

:sparkles: Add edit subcommand

Search before asking

  • I have searched in the issues and found no similar issues.

Description

We should add the functionality to edit a story.

Solution

I propose the following usage:

bookshelf edit [STORY] [FIELD] 

You should then probably be able to edit the raw json as well, maybe with a --raw-json flag.

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

:memo: Terminal examples in the documentation aren't mobil friendly

Search before asking

  • I have searched in the issues and found no similar issues.

Description

The preformatted terminal examples don't render nicely on smaller screens.

Solution

Look at an improved way of rendering the terminals, potentially a react component

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

โœจ Add PR Template

Search before asking

  • I have searched in the issues and found no similar issues.

Description

Add a PR template to standardise PRs

Solution

Use this template

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

โœจ Add mutation tests

Search before asking

  • I have searched in the issues and found no similar issues.

Description

We can use mutmut to set up running mutation tests. We can run in the pipeline and set a threshold for an allowable mutation amount.

Solution

Could use a workflow similar to below to run mutation tests when a certain label is added:

name: Mutation Testing Workflow

on:
  pull_request:
    types:
      - labeled

jobs:
  mutation-tests:
    if: contains(github.event.pull_request.labels.*.name, 'mutation tests')
    runs-on: ubuntu-latest

    steps:
    - name: ๐Ÿ”„ Checkout code
      uses: actions/checkout@v2

    - name: ๐Ÿ Set up Python
      uses: actions/setup-python@v2
      with:
        python-version: 3.x  # Specify your desired Python version

    - name: ๐Ÿ“ฆ Install dependencies
      run: pip install -r requirements-dev.txt  # Replace with your requirements file

    - name: โ„๏ธ Run Flake8
      run: flake8 .

    - name: ๐Ÿฆ  Run unit tests
      run: mutmut run --CI

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

:sparkles: Add Dependabot

Search before asking

  • I have searched in the issues and found no similar issues.

Description

Add dependabot to automatically scan and upgrade the repos dependencies

Solution

Add a dependabot.yaml file

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

:sparkles: Add tag and untag commands

Search before asking

  • I have searched in the issues and found no similar issues.

Description

Have the ability to be able to add/remove certain tags from a story.

Solution

Use something like bookshelf [un]tag

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

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.