An open API service indexing awesome lists of open source software.

https://github.com/stahnma/noodles

Search GitHub for specific things in READMEs
https://github.com/stahnma/noodles

api github

Last synced: about 2 months ago
JSON representation

Search GitHub for specific things in READMEs

Awesome Lists containing this project

README

          

# Noodles
---

Why is this named noodles? Because, I said I would noodle on it.

# GitHub Repository Search Tool

This tool allows you to search GitHub repositories to find those that contain a specific string in their README files and meet a minimum star requirement.

## Requirements

- Go (1.16 or later)
- A GitHub Personal Access Token
- Make

If you want this to run in a lambda, then you you'll want:
- AWSCLI2
- jq (perhaps for debugging)

## Installation

First, clone the repository or download the source code. Then navigate to the directory containing the source code.

## Configuration

Before running the script, you must set your GitHub Personal Access Token as an environment variable:

export GITHUB_TOKEN="your_github_token_here"

Ensure this token is set in your shell environment where you plan to run the script.

## Building

flox activate
go mod tidy
go build .

## Running as via serverless

The `Makefile` contains targets to set up or update the code for the lambda.

:warning: You will still need something to trigger the lambda, such as an API
Gateway. Setting that up not covered in this README.

To update the lambda: `make aws`

To create the initial lambda `make aws-init`

## Usage

The tool is executed from the command line, where you can specify the search string and the minimum number of stars:

./noodles -stars= ""

### Parameters

- ``: The minimum number of stars a repository must have to be included in the search results. This is optional and defaults to 1000 if not specified.
- ``: The string to search for in the README files of repositories.

### Examples

To search for repositories that include "nvm use" in their README and have at least 1500 stars:

./noodles -stars=1500 "nvm use"

To search for repositories with the default star setting (1000 stars) that include "pip install":

./noodles "pip install"

## Contributing

Contributions are welcome! Please feel free to submit pull requests or open issues to suggest improvements or add new features.

# Demo stuff

If you want a demo using Flox to do some neat things, this is a good project for that.

You can:

1. Build `noodles` and then set it up as a Lambda. If you've configured the lambda and API Gateway, you can then run the lambda from the API Gateway using `make aws` from the `noodles` directory.
2. There is a front end in the `front` directory. It uses `flox services` to show off the services component and runs a web application and proxy to get around CORS restrictions from API gateway.

To run the front end

cd front
flox activate -s

## License

WTFPL