This project is an AI-powered tool designed to generate community health files for repositories. It supports multiple AI platforms including OpenAI (GPT-4), Google Gemini, and Anthropic's Claude. Using the selected platform, it generates various repository templates such as issue templates, pull request templates, and more.
- Multi-platform AI support: Choose between OpenAI, Google Gemini, and Anthropic Claude for content generation.
- Automated file generation: Automatically generates essential community health files, including:
- Issue templates (e.g., Bug Reports, Feature Requests)
- Discussion templates (e.g., Announcements, Ideas)
- Pull Request templates
- Funding information
- Security policy
- Contribution guidelines
- Governance documents
- Code of Conduct
- Interactive CLI: A user-friendly, interactive command-line interface that prompts for necessary inputs.
- Parallel AI requests: Speed up content generation using concurrent API requests.
- Customizable: Supports user-defined fields like assignees for issues and feature requests, license information, and more.
-
Clone the repository:
git clone https://github.com/Brewnbeer/AutoRepoDocs cd AutoRepoDocs
-
Install the dependencies:
npm install
- Node.js (v14 or above)
- NPM (or Yarn)
- API keys from any of the supported platforms:
- OpenAI API Key
- Google Gemini API Key
- Anthropic Claude API Key
Before you start using the tool, ensure that you have an API key from one of the supported platforms. When prompted by the CLI, you will need to provide the key.
If you wish to set up the key as an environment variable (optional), you can do so as follows:
```bash
export OPENAI_API_KEY="your_actual_openai_api_key"
export GEMINI_API_KEY="your_actual_gemini_api_key"
export CLAUDE_API_KEY="your_actual_claude_api_key"
Alternatively, the CLI will prompt you for the API key during runtime.
To run the project and start generating the community health files, follow these steps:
-
Start the CLI tool:
node index.js
-
You will be prompted to select one of the AI platforms:
- OpenAI
- Google Gemini
- Anthropic Claude
-
Enter your API key for the selected platform when prompted.
-
Answer the subsequent questions about your repository (e.g., owner name, license type, assignees for issue templates, etc.).
-
The tool will generate the following files within the appropriate directories of your repository. Once completed, the generated files will be available in the
.github
anddocs
directories.
This tool supports three major AI platforms for generating content:
- Requires an OpenAI API key.
- Generates content using the GPT-4 model.
- Requires a Google Gemini API key.
- Utilizes Google's generative AI services with customizable safety settings.
- Requires a Claude API key from Anthropic.
- Claude is designed to generate safe and useful AI content.
The tool generates the following community health files:
BUG_REPORT.yml
: Template for users to report bugs.FEATURE_REQUEST.md
: Template for feature requests.ENHANCEMENT_REQUEST.yml
: Template for enhancements.QUESTION.md
: Template for general questions.config.yml
: Configuration for issue templates.
ANNOUNCEMENTS.yml
: Template for announcements.IDEAS.yml
: Template for idea submissions.
PULL_REQUEST_TEMPLATE.md
: A markdown template for creating pull requests.
FUNDING.yml
: Information about funding sources (e.g., GitHub Sponsors, Patreon).
SECURITY.md
: Guidelines and policies for handling security vulnerabilities.
CONTRIBUTING.md
: Guidelines for contributing to the repository.
GOVERNANCE.md
: Information about the governance structure of the project.
SUPPORT.md
: Details about how to seek support or ask questions.
CODE_OF_CONDUCT.md
: A code of conduct for contributors to the project.
This project is licensed under the MIT License. See the LICENSE
file for details.
We welcome contributions! Please feel free to submit a pull request or open an issue to help improve this tool.
If you have any questions, feel free to open an issue or reach out through GitHub Discussions.
```bash
You can copy and paste this directly into your project’s `README.md` file. Be sure to replace `yourusername` with your actual GitHub username in the links!
This project is licensed under the MIT License - see the LICENSE file for details.