Project

reposer

0.0
No release in over 3 years
Reposer is an intelligent tool that uses AI to create GitHub repositories with smart descriptions, topics, READMEs, and project structure
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Runtime

~> 2.0
~> 6.0
~> 0.6
~> 0.8
~> 1.0
~> 0.23
~> 0.3
 Project Readme

Reposer ๐ŸŽฏ

Status: Production-ready Ruby gem for AI-powered repository creation - intelligent automation of GitHub project setup and documentation generation.

AI-powered GitHub repository creation and management tool

Gem Version CI Test Coverage Ruby Version

Reposer is an intelligent CLI tool that uses AI to create GitHub repositories with smart descriptions, relevant topics, comprehensive READMEs, and proper project structure. No more staring at blank repository forms!

โœจ Features

  • ๐Ÿค– AI-Generated Content: Multiple AI providers (Gemini, Ollama) or template-based fallback
  • ๐ŸŽฏ Smart Context Awareness: Understands project purpose from name, language, and framework
  • ๐Ÿ”ง Interactive CLI: Guided prompts for missing information with beautiful UI
  • ๐Ÿ“ Professional READMEs: Creates comprehensive, well-structured documentation with emojis
  • ๐Ÿท๏ธ 20 Intelligent Topics: Generates up to 20 relevant tags and topics automatically
  • ๐Ÿ˜Š Emoji Support: Automatic emoji inclusion in descriptions and READMEs for visual appeal
  • ๐Ÿ“„ License Selection: Interactive license picker (MIT, Apache, GPL, BSD, MPL, Unlicense)
  • ๐Ÿ—‚๏ธ Language-Specific Project Files: Auto-generates boilerplate files (go.mod, package.json, requirements.txt, etc.)
  • ๐Ÿ‘๏ธ Preview Mode: See generated content before creating repository
  • ๐Ÿ” Secure Configuration: Encrypted storage of API keys and tokens
  • โšก Multi-Language Support: Built-in support for 15+ programming languages
  • ๐ŸŽจ Framework Intelligence: Recognizes and suggests popular frameworks
  • ๐Ÿค– Flexible AI Integration: Choose between Gemini, Ollama, or template-based generation
  • ๐Ÿงช 90%+ Test Coverage: Production-ready with comprehensive testing

๐Ÿค– AI Provider Options

Repose supports multiple AI providers for intelligent content generation:

Gemini (Google AI)

export GEMINI_API_KEY='your-api-key'
repose create my-project  # Auto-detects Gemini

Ollama (Local AI)

# Install and start Ollama
brew install ollama
ollama serve
ollama pull mistral

# Configure (optional)
export OLLAMA_ENDPOINT='http://localhost:11434'
export OLLAMA_MODEL='mistral'

repose create my-project  # Auto-detects Ollama

Template-Based (No AI Required)

Works out of the box with intelligent templates - no AI configuration needed!

Auto-Detection

Repose automatically selects the best available provider:

  1. Gemini (if GEMINI_API_KEY is set)
  2. Ollama (if service is running)
  3. Template-based (always available as fallback)

๐Ÿš€ Quick Start

Installation

gem install repo-composer

Setup

Configure your credentials (one-time setup):

repo-composer configure

You'll need:

  • GitHub Personal Access Token (with repo permissions) - Required
  • Gemini API Key (optional, for AI-powered generation)
  • Ollama (optional, for local AI - brew install ollama && ollama serve)

Create Your First Repository

reposer create my-awesome-project

That's it! Reposer will intelligently guide you through the process.

๐ŸŽจ Usage Examples

Basic Usage

# Interactive mode - Reposer guides you
reposer create my-project

# Quick creation with language
reposer create web-scraper --language ruby

# Full specification
reposer create api-server --language go --framework gin --private

Advanced Usage

# Preview before creating
reposer create ai-chatbot --language python --framework fastapi --dry-run

# Specify license type
reposer create api-server --language go --framework gin --license apache-2.0

# Custom description and topics
reposer create data-processor \
  --language python \
  --description "High-performance data processing pipeline" \
  --topics ml,data,etl,python

# Framework-specific project with custom license
reposer create blog-api --language ruby --framework rails --license gpl-3.0 --private

Interactive Experience

$ reposer create awesome-api
๐ŸŽฏ Reposer - AI Repository Creator
========================================
Primary programming language: ruby
Framework/Library: Rails
Choose a license: MIT License (Permissive, most popular)
What will this project do? A REST API for user management

๐Ÿ“‹ Generated Repository Content
----------------------------------------
Name: awesome-api
Description: ๐Ÿš€ A Ruby Rails REST API for user management ๐Ÿ’Ž
Topics: ruby, rails, api, rest, web, backend, database, authentication, 
        mvc, ruby-on-rails, sinatra, bundler, gem, postgresql, redis,
        jwt, oauth, microservices, docker, kubernetes

README Preview:
# ๐Ÿ’Ž Awesome Api

๐Ÿš€ A Ruby Rails project for user management with comprehensive
API endpoints and authentication.

## โœจ Features
- ๐Ÿ› ๏ธ User authentication and authorization
- ๐ŸŒ RESTful API design
- ๐Ÿ“Š Database integration
- โœ… Comprehensive test coverage

Create repository? (Y/n) y
โœ… Repository created successfully!
๐Ÿ”— https://github.com/yourusername/awesome-api

๐Ÿ› ๏ธ Configuration

Initial Setup

reposer configure

Configuration File

Located at ~/.reposer.yml:

github_token: "your_github_token"
gemini_api_key: "your_gemini_key"  # Optional
default_topics: ["opensource", "ruby"]
default_language: "ruby"

Environment Variables

export GITHUB_TOKEN="your_token"
export GEMINI_API_KEY="your_key"  # Optional for AI features
export OLLAMA_ENDPOINT="http://localhost:11434"  # Optional for Ollama
export OLLAMA_MODEL="mistral"  # Optional, defaults to mistral

๐ŸŒ Supported Languages & Frameworks

Language Frameworks
Ruby Rails, Sinatra, Hanami, Roda
JavaScript/TypeScript React, Vue, Express, Next.js, Nuxt, Angular
Python Django, Flask, FastAPI, Streamlit
Go Gin, Echo, Fiber, Chi
Java Spring Boot, Quarkus, Micronaut
Rust Actix, Axum, Warp, Rocket
Swift Vapor, Perfect, Kitura
PHP Laravel, Symfony, CodeIgniter
Kotlin Spring Boot, Ktor
And more... Extensible architecture

๐Ÿ“š Command Reference

repose create [NAME]

Create a new repository with AI assistance.

Options:

  • --language LANG - Primary programming language
  • --framework FRAMEWORK - Framework or library to use
  • --description TEXT - Custom description override
  • --license LICENSE - License type (mit, apache-2.0, gpl-3.0, bsd-3-clause, mpl-2.0, unlicense)
  • --private - Create private repository (default: public)
  • --topics TOPIC1,TOPIC2 - Custom topics/tags (up to 20)
  • --dry-run - Preview without creating
  • --template URL - Use repository template

Examples:

reposer create web-app --language typescript --framework react
reposer create microservice --language go --license apache-2.0 --private
reposer create ml-model --language python --topics ml,ai,data-science --dry-run
reposer create api-server --language ruby --framework rails --license gpl-3.0

repose configure

Setup or update configuration settings.

Interactive prompts for:

  • GitHub Personal Access Token
  • Gemini API Key (optional)
  • Default topics
  • Default language

repose version

Display version information.

๐Ÿ—๏ธ Project Structure

repose/
โ”œโ”€โ”€ lib/
โ”‚   โ””โ”€โ”€ repose/
โ”‚       โ”œโ”€โ”€ cli.rb           # Command-line interface
โ”‚       โ”œโ”€โ”€ github_client.rb # GitHub API integration  
โ”‚       โ”œโ”€โ”€ ai_generator.rb  # Content generation
โ”‚       โ”œโ”€โ”€ config.rb        # Configuration management
โ”‚       โ”œโ”€โ”€ errors.rb        # Error definitions
โ”‚       โ””โ”€โ”€ version.rb       # Version information
โ”œโ”€โ”€ exe/
โ”‚   โ””โ”€โ”€ repose              # Executable
โ”œโ”€โ”€ spec/                   # Comprehensive test suite
โ”‚   โ”œโ”€โ”€ repose/            # Unit tests
โ”‚   โ”œโ”€โ”€ integration_spec.rb # Integration tests
โ”‚   โ””โ”€โ”€ spec_helper.rb     # Test configuration
โ””โ”€โ”€ .github/
    โ””โ”€โ”€ workflows/
        โ””โ”€โ”€ ci.yml         # GitHub Actions CI

๐Ÿงช Development & Testing

Setup Development Environment

git clone https://github.com/wesleyscholl/repose.git
cd repose
bundle install

Run Tests

# Run all tests
bundle exec rspec

# Run with coverage
bundle exec rspec --format documentation

# Run specific test file
bundle exec rspec spec/repose/cli_spec.rb

# Run linting
bundle exec rubocop

Test Coverage

Current test coverage: 96.63% (373/386 lines)

  • Unit Tests: Individual class and method testing
  • Integration Tests: End-to-end workflow validation
  • Error Handling Tests: Comprehensive error scenarios
  • Mock Tests: External API interaction testing
  • Configuration Tests: Secure file handling

Development Tasks

# Install gem locally
rake install

# Run console with repose loaded
rake console

# Build and test
rake default  # Runs tests + rubocop

# Release (maintainers only)
rake release

๐Ÿ”’ Security & Privacy

Data Handling

  • Local Storage: API keys stored locally with secure permissions (600)
  • No Data Collection: No telemetry or usage tracking
  • API Communication: Direct communication with GitHub/OpenAI APIs
  • Input Sanitization: All user inputs validated and sanitized

API Key Security

# Configuration file permissions
chmod 600 ~/.repose.yml

# Environment variable approach (more secure)
export GITHUB_TOKEN="your_token"
export OPENAI_API_KEY="your_key"

Required Permissions

  • GitHub Token: repo scope for repository creation
  • Gemini Key: Standard API access (optional, for AI features)
  • Ollama: Local service (optional, for privacy-focused AI)

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes with tests
  4. Ensure tests pass (bundle exec rspec)
  5. Lint your code (bundle exec rubocop)
  6. Commit your changes (git commit -m 'Add amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

Code Quality Standards

  • 98%+ Test Coverage: All new features must include comprehensive tests
  • RuboCop Compliance: Code must pass all linting checks
  • Documentation: Public methods and complex logic must be documented
  • Performance: Consider performance implications of changes

๐Ÿ“Š Project Status

Current State: Production-ready AI-powered development tool with enterprise-grade reliability
Tech Stack: Ruby 3.0+, GitHub API integration, OpenAI AI generation, comprehensive CLI framework
Achievement: Intelligent repository management with 98.39% test coverage and production deployment

Repose represents the future of intelligent development tooling, combining AI-powered content generation with robust software engineering practices. This project showcases advanced API integration, secure configuration management, and comprehensive testing methodologies.

Technical Achievements

  • โœ… Production-Ready Quality: 96.63% test coverage with 181 comprehensive test examples across unit and integration testing
  • โœ… AI Content Generation: Intelligent repository creation with context-aware descriptions, topics, and documentation
  • โœ… Multi-Language Support: Built-in intelligence for 10+ programming languages and their popular frameworks
  • โœ… Secure Configuration: Encrypted API key storage with industry-standard security practices
  • โœ… Beautiful CLI Experience: Interactive prompts with preview capabilities and error handling

Performance Metrics

  • Test Coverage: 96.63% (373/386 lines) with comprehensive edge case coverage
  • API Response Time: Sub-second repository creation with optimized GitHub API usage
  • Security Score: Full compliance with secure credential management best practices
  • Framework Support: 25+ frameworks across multiple programming languages
  • User Experience: Interactive CLI with intelligent defaults and preview capabilities

Recent Innovations

  • ๐Ÿค– Advanced AI Integration: Multi-model content generation with context-aware improvements
  • ๐Ÿ” Security-First Design: Encrypted configuration with environment variable support
  • ๐ŸŽฏ Framework Intelligence: Automatic detection and suggestion of relevant project frameworks
  • โšก Performance Optimization: Efficient API usage with intelligent caching and batching

2026-2027 Development Roadmap

Q1 2026 โ€“ Advanced AI Capabilities

  • Multi-modal repository analysis with code pattern recognition
  • Intelligent project structure generation based on language and framework
  • AI-powered code quality assessment and improvement suggestions
  • Advanced template engine with customizable project scaffolding

Q2 2026 โ€“ Team Collaboration Features

  • Team workspace management with shared configuration profiles
  • Collaborative repository templates with organization-wide standards
  • Advanced permission management and role-based access control
  • Integration with enterprise GitHub and GitLab instances

Q3 2026 โ€“ DevOps Integration Suite

  • CI/CD pipeline generation with intelligent workflow recommendations
  • Container and deployment configuration automation
  • Cloud platform integration (AWS, GCP, Azure) with infrastructure-as-code
  • Advanced monitoring and observability setup automation

Q4 2026 โ€“ Enterprise Platform

  • Web-based repository management dashboard with team analytics
  • API service for programmatic repository creation and management
  • Advanced compliance and security scanning integration
  • Custom plugin system for enterprise-specific workflows

2027+ โ€“ AI-Driven Development Ecosystem

  • Predictive development assistance with project success metrics
  • Automated code review and quality improvement suggestions
  • Cross-platform development with unified project management
  • Research collaboration for next-generation development tooling

Next Steps

For Individual Developers:

  1. Use Repose to streamline new project creation and reduce setup overhead
  2. Leverage AI-generated documentation to improve project discoverability
  3. Explore framework-specific templates to accelerate development workflows
  4. Contribute custom templates and framework support for community benefit

For Development Teams:

  • Standardize repository creation across team members with shared configurations
  • Integrate with existing development workflows and CI/CD pipelines
  • Use preview mode for reviewing generated content before repository creation
  • Contribute organization-specific templates and customization options

For DevOps Engineers:

  • Study secure configuration management patterns for credential handling
  • Integrate repository creation into automated development environment setup
  • Contribute to CI/CD pipeline generation and infrastructure automation features
  • Research advanced security scanning and compliance automation capabilities

Why Repose Leads Intelligent Development Tooling?

AI-First Approach: First comprehensive tool to combine intelligent content generation with robust software engineering practices.

Production Quality: Industry-standard testing coverage and security practices demonstrate enterprise-ready reliability.

Developer Experience: Beautiful CLI interface with intelligent defaults reduces cognitive load and accelerates development.

Extensible Architecture: Modular design enables easy addition of new languages, frameworks, and AI capabilities.

๐Ÿ› Troubleshooting

Common Issues

Q: "GitHub API error: Bad credentials" A: Check your GitHub token has repo permissions and is correctly configured.

Q: "Command not found: repose"
A: Ensure gem is installed: gem install repose and gem bin path is in $PATH.

Q: "YAML parsing error" A: Check ~/.repose.yml syntax. Delete file and run repose configure to recreate.

Q: "Repository already exists" A: Choose a different repository name or check existing repositories.

Debug Mode

# Enable verbose output
REPOSE_DEBUG=1 repose create my-project

# Check configuration
repose configure --show

Getting Help

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • GitHub for the excellent Octokit library and API
  • Ruby Community for amazing gems that made this possible
  • TTY Toolkit for beautiful CLI components
  • RSpec Team for comprehensive testing framework
  • Contributors who help improve Repose

๐Ÿท๏ธ Version History

  • v1.2.0 (2025-11-21): Major upgrade with emoji support, 20-topic generation, license selection, and improved GitHub authentication
  • v1.1.0 (2025-01-20): Published as repo-composer (gem name change), AI provider integration (Gemini + Ollama) with 96.63% test coverage
  • v1.0.0 (2025-11-07): Production release with 98.39% test coverage (as repose)
  • v0.1.0 (2024-11-07): Initial release with core functionality

Made with โค๏ธ by Wesley Scholl

Repose: Where repositories compose themselves โœจ

Install โ€ข Documentation โ€ข GitHub โ€ข Issues