Coder Social home page Coder Social logo

deepsourcecorp / good-first-issue Goto Github PK

View Code? Open in Web Editor NEW
2.3K 34.0 691.0 1.36 MB

Make your first open-source contribution.

Home Page: https://goodfirstissue.dev

License: MIT License

JavaScript 15.97% Makefile 1.56% Python 35.14% Vue 46.02% TypeScript 1.31%
good-first-issue open-source contributions-welcome

good-first-issue's Introduction


Welcome! ๐Ÿ‘‹๐Ÿผ

Good First Issue is an initiative to curate easy pickings from popular projects, so developers who've never contributed to open-source can get started quickly.

Open-source maintainers are always looking to get more people involved, but new developers generally think it's challenging to become a contributor. We believe getting developers to fix super-easy issues removes the barrier for future contributions. This is why Good First Issue exists.

Adding a new project

You're welcome to add a new project in Good First Issue, and we encourage all projects โ€” old and new, big and small.

Follow these simple steps:

  • Our goal is to narrow down projects for new open-source contributors. To maintain the quality of projects in Good First Issue, please make sure your GitHub repository meets the following criteria:

    • It has at least three issues with the good first issue label. This label is already present on all repositories by default. If not, you can follow the steps here.

    • It has at least 10 contributors.

    • It contains a README.md with detailed setup instructions for the project, and a CONTRIBUTING.md with guidelines for new contributors.

    • It is actively maintained.

  • Add your repository's path (in lexicographic order) in data/repositories.toml.

  • Create a new pull-request. Please add the link to the issues page of the repository in the PR description. Once the pull request is merged, the changes will be live on goodfirstissue.dev.

Setting up the project locally

Good First Issue has two components โ€” the front-end app built with Nuxt.js and a data population script written in Python.

To contribute new features and changes to the website, you would want to run the app locally. Please follow these steps:

  1. Clone the project locally. Make sure you have Python 3 and a recent version of Node.js installed on your computer.

  2. Make a copy of the sample data files for your local app to use and rename them to the filename that the app expects. This step is important, as the front-end app won't work without these data files.

$ cp data/generated.sample.json data/generated.json
$ cp data/tags.sample.json data/tags.json
  1. Build the front-end app and start the development server.
$ bun install # install the dependencies
$ bun dev # start the development server

The app should open in your browser.

good-first-issue's People

Contributors

ardakazanci avatar b-r-p avatar deepsource-autofix[bot] avatar dependabot-preview[bot] avatar developerfred avatar enstyled avatar fgiuliani avatar herrardo avatar jai-deepsource avatar karansthr avatar kmorcinek avatar ming-tsai avatar orlinvasilev avatar pierreyoda avatar pnijhara avatar pratikshaborle avatar rahul-deepsource avatar rj722 avatar rohan-deepsource avatar rolandgeider avatar sampan501 avatar sanket-deepsource avatar shahednasser avatar shmueltreiger avatar shruddha-deepsource avatar shubhendra-deepsource avatar siddhant-deepsource avatar snyk-bot avatar souvik-deepsource avatar vasanthdharmaraj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

good-first-issue's Issues

Builds are breaking because emojize() throws an error

19:18:41.089  
Traceback (most recent call last):
19:18:41.089  
  File "gfi/populate.py", line 139, in <module>
19:18:41.089  
    repo_details = get_repository_info(repo_dict["owner"], repo_dict["name"])
19:18:41.089  
  File "gfi/populate.py", line 92, in get_repository_info
19:18:41.089  
    info["description"] = emojize(repository.description)
19:18:41.089  
  File "/vercel/.cache/pypoetry/virtualenvs/good-first-issue-YXUa6MG0-py3.6/lib/python3.6/site-packages/emoji/core.py", line 52, in emojize
19:18:41.089  
    return pattern.sub(replace, string)
19:18:41.089  
TypeError: expected string or bytes-like object

This is causing #71.

Curate issues labelled with `hacktoberfest` label during the Hacktoberfest

Since hacktoberfest is going to start soon, it will be really helpful for the beginners if they can find all the hacktoberfest labelled issues as well on gfi.

We can however add a certain mark (maybe a star or a label next to the issue title as Github does) which can help them differentiate issues labelled as hacktoberfest from the ones labelled as good-first-issue.

Guide: What is a good first issue?

Outline:

  • What is a good first issue?
  • For project maintainers: how to create good first issues?
  • For contributors: how to find an issue to get started?

The content should be live at: /guide/what-is-good-first-issue

Using a single page to handle the display, filtering and sorting of repos

Hi @jai-deepsource @siddhant-deepsource
Currently there are two different pages to handle the display and filtering of repos

  1. language/index.vue
  2. language/_slug.vue

as both the pages were almost doing the same thing and handling the filter repos by label using language/_slug.vue is adding limitations, code repetition and complexity to support features like multi label select and deselect to filter the repos.

Propose solution

  1. instead it would be much better if we can handle these things in language/index.vue page by adding a new state to maintain the active tag or label selected (example: javascript) and filter the repos accordingly if there is any active tag or tags. else all the repos can be displayed.
  2. remove language/_slug.vue page and it's dependent code.

i can raise a PR for this if this sounds reasonable to you guys

Demo:

ezgif com-gif-maker

Note: I have suggested this solution as per my understanding on the project but please let me know if i'm missing anything or if there are any complications with my approach

Thank you!

sw.js

This can be ignored as it should not be version controlled.

I'll make a PR about this.

Add label variations for good first issue

I found some project that match the criteria to be added but have variations of the good first issue labels like good-first-issue and :wave: Good First Issue I would like to add these label variations and subsequently add these repos.

Example:

I assume that adding these labels to labels.json would be sufficient.

Last activity data mismatch

The last activity data on cards do not match with the ones in repos (last commit).

One repo I checked had the last commit from 17 months ago but on the website, it showed the last activity as 2 days.

Is there a way to run this locally?

I would like to contribute by creating a PR to add variations of labels like good-first-issue and :wave: Good First Issue that I am seeing being used in some open source projects. There is also a related issue #278.

From what I understand, I just need to add the new labels to labels.json file. But wanted to check if there is a way to run the application locally to check.

I ran the following commands:

  • make pre-build
  • make build

but got the error:
FATAL Cannot find module './data/tags.json'

Multiple Search results for same repository,

Hi,

I was looking into the repositories while scrolling I can see 2 results for same Microsoft /vscode.

image

Again at,

image

While the first link works fine the second one does nothing.

(JS-0712) Avoid `target='_blank'` attribute without `rel='noopener noreferrer'`

Description

A malicious actor can gain full control over the user's DOM window object. As such, this can lead to phishing attacks such as fake login prompts or password alerts being shown to the user. <!--more--> Using target=&#x27;_blank&#x27; links grants the page we are linking to a partial access to the โ€ฆ

Occurrences

There are 5 occurrences of this issue in the repository.

See all occurrences on DeepSource โ†’ deepsource.io/gh/deepsourcelabs/good-first-issue/issue/JS-0712/occurrences/

Show number of comments attached to the issue

I find the website very useful. Something that would increase the value of the website for me would be to see the number of comments attached to each issue. This would save me time in knowing which issues I'm interested in viewing.

I would just add the feature and PR, but I have no idea how to get the project running locally.

If someone could help me get the project running locally, I could add the feature myself.

Thanks.

Add details for local development

It is not clear how someone can set GFI up locally and start local development. There should also be fixtures so the user doesn't need to run the population themselves.

Filter out the archived projects

Some projects are archived and there's no point of listing them anymore. I guess they have been added in the past and they were being actively maintained at the time they were added, but as of today when you list #javascript you get 105 results and the first one is Josh's guppy project which is already archived. So it would be better if they are filtered out in my opinion.

Import Error

Hi
there is error Coming in:
good-first-issue/gfi/tweet.py
Line -18 => LOGGING_CONFIG
Line-22,23,24 => Import error (Unable to Import toml)
Screenshot from 2020-09-15 12-36-54

Sorting Feature

Currently the website displays the repositories in a really long list. I was wondering if I can take up the challenge of adding a feature where the user can select a way to sort the list.
After that maybe features like, filtering and searching as well.

If an Emoji is in label project is not listed

Project like Peertube added an emojii in their label for beginners like "good first issue ๐Ÿ”ฐ"

Right now there is some issues labeled with this label but they don't appears on the goodFirstIssue listing. :(

I asked the same on Peertube folks side if just removing the emoji could help but maybe striping emoji at beginning/end of the label is not that bad.

Add a Guides section

It will be valuable to write guides and how-tos around good first issues and open-source contributions. This can be implemented using Nuxt Content, and the guides can be written using Markdown.

Add a CONTRIBUTING.md

This will help all the new members to know how to contribute and what are the objectives :)

Make your first contribution page

A page to guide new open-source contributors. This could include (but not limited to) commit best practices, pull request conventions, seeking help, picking a good first issue, code review etiquette, etc.

Move labels to a separate file

Move labels to labels.json file under data directory.

This would enable us to add more beginner issue tags like easy-pickings, E-easy, etc.

Criteria for adding a new project

  1. Although "good first issue" is the default label that GitHub encourages projects to tag for issues suitable for newcomers, many projects prefer to use other labels, such as "beginner", "easy" and "first timer only". Maybe other labels can be considered in the first criterion.
  2. Perhaps a clearer description of "actively maintained" is needed. Vague descriptions may damage the objectivity of the last criterion.

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.