🦑 GitSet.dev [Astro.js - Python - React.js - AI - Node.js]

🦑 GitSet.dev [Astro.js - Python - React.js - AI - Node.js]

GitSet.dev is a comprehensive suite of AI-driven tools designed to enhance GitHub workflows and documentation processes. Built on Astro.js/React.js and seamlessly integrating 8 Python-based backends (FastAPI and Flask) with Google’s Gemini Pro AI layers, it blends AI-powered suggestions with user-requested improvements, continuously refining results to deliver customized, optimized outcomes. It offers both public utilities and authenticated services to streamline repository management, documentation and version control tasks.



Core Features:

  • Public Tools (No Authentication Required):
    • Public AI-Readme Generator: Generates a README.md for any public repository from any Github user using AI.
    • .gitignore Builder: Crafts customized .gitignore files by selecting multiple languages, frameworks and tools.
  • Authenticated Services:
    • Personal AI-Readme Generator: Generates a README.md for any public or private repository of the authenticated user.
    • Commit Messages Generator: Suggests semantic or custom commit messages for local staged Git files.- Gitset CLI required.
    • Tags & Releases Manager: Streamline version control management with AI-driven release note suggestions and user-requested improvements.
    • Code Decommenter: Removes specific types of comments from code while preserving functionality, supporting most major programming languages.
    • Repository Assessment Tool: Provides detailed evaluations and effort breakdowns for established repositories.

GitSet CLI (@gitset-dev/cli)

The GitSet CLI is a robust command-line tool enabling AI-driven commit message generation directly from the terminal.

Semantic Mode (Default):

Generates semantic, convention-based commit messages automatically.

$ gitset suggest
 feat: Add user authentication feature with JWT support
Custom Style Mode:

Enables the generation of commit messages in a custom format, tailored to the preferences of the user or their team.

$ gitset suggest --mode custom
 [Auth] Added JWT user authentication 🔐
Optional: Configure analysis depth:

Offers the option to configure the number of previous commits to analyze for more tailored suggestions.

$ gitset suggest --mode custom --commit-count 30 
 [Auth] Added JWT user authentication 🔐

The CLI intelligently adapts to your personal commit style by analyzing your previous commits, matching your formatting preferences, emoji usage, and message structure.

With its adaptive capabilities, the GitSet CLI enhances commit consistency and productivity, ensuring high-quality version control practices across projects.

Technical Architecture:

Based on a modular, service-oriented architecture, it employs distinct service layers to manage client requests, authentication, AI-driven processing, content aggregation, and improvement handling. The design follows best practices for scalability, performance, and security, ensuring a clear separation of concerns between public and protected services.

GitSet.dev Technical Architecture Diagram
View this graph in an interactive editor with zoom capabilities here.

Frontend Layer

  • Primary Entry Point: The frontend service, built on Astro SSR with React.js integration, acts as the main entry point for client requests. It handles user interaction, manages content rendering, and coordinates with both public and protected service layers for data delivery.
  • Responsibilities:
    • State management and content rendering
    • User authentication and session handling
    • Interaction with public and protected services for data access

Authentication System

  • Authentication Gateway:

    • Functions as the security checkpoint, routing requests based on the authentication status of users.
    • Enforces access control policies and ensures secure request handling by interfacing with the authentication service.
  • Authentication Service:

    • Utilizes Drizzle ORM for database interaction, providing persistent storage for user data.
    • Integrates GitHub OAuth for user authentication, managing session tokens and ensuring secure user identification.
    • The session manager is responsible for managing the lifecycle of user sessions.

CLI Processing Layer

  • GitSet CLI:
    • Node.js-based command-line interface that acts as an intermediary processing layer
    • Handles command interpretation and execution for the Tags & Release Manager
    • Provides local environment integration for version control operations
    • Facilitates secure communication between the frontend interface and AI backend services
    • Processes Git commands and metadata before sending to the AI service for analysis

Protected Services Layer

This layer comprises five core services, which require authentication:

  1. AI-Readme Generator Service:

    • Utilizes Gemini AI to generate detailed, context-aware README files.
  2. Commit Message Generator Service:

    • Leverages contextual analysis via Gemini AI to automate commit message creation.
  3. Tags & Release Manager Service:

    • Manages version control, automatic release note generation, and tagging.
  4. Repository Assessment Service:

    • Provides repository health assessments, analyzing various metrics and insights, powered by Gemini AI.
  5. Code Decommenter Service:

    • Processes and removes specified types of comments from source code.
    • Supports multiple comment types: single-line, multi-line, documentation, and pragma comments.
    • Provides clean, formatted output for manual implementation.
    • Ensures code functionality remains intact while removing unnecessary documentation.

AI Processing Backend Layer

  • This layer implements parallelized AI processing through multiple instances of the Gemini AI backend, with each instance dedicated to specific tasks (e.g., README generation, commit message generation, release management, repository assessment, code comment removal).
  • The backend processes requests efficiently and in parallel, ensuring scalability and performance.
  • Each service maintains its own AI processing pipeline to prevent interference and optimize response times.

Public Services Layer

The public services layer is accessible without authentication, providing the following functionalities:

  1. GitHub API Service:

    • Handles GitHub integration, offering a public access endpoint for interacting with GitHub repositories.
  2. Public Readme Generator:

    • A simplified version of the README generation service, using the public AI backend to generate basic readme files.
  3. .gitignore Builder Service:

    • Generates .gitignore files based on predefined templates, with processing handled by the Python backend.
  4. Support Services:

    • Includes public-facing AI processing through the Gemini backend and Python services for template-based tasks.

Content Management Layer

  • Content Aggregator Service:
    • Collects content from various sources (AI processing, public services, and Python backend) and normalizes it into a unified format.
    • Facilitates content fusion, formatting, and preparation for frontend delivery.
  • Improvement Handler Service:
    • Manages user-generated improvement requests, coordinating with the content aggregator to refine and iterate on content.

Data Flow and Technical Considerations

The system is designed to efficiently handle user requests while maintaining security, performance, and scalability.

Authentication Flow

  1. The client makes an initial request, which is handled by the frontend service.
  2. The frontend routes the request through the authentication gateway to determine if the user is authenticated.
  3. Upon successful authentication, the user session is established, and the user is granted access to the protected services layer.

Service Flow (Protected and Public)

  • Protected Services: Once authenticated, users can access the protected services. These services interact with their dedicated Gemini AI backend for specific tasks (e.g., managing tags & releases, generating commit messages, removing code comments). The backend processes the requests and returns aggregated results to the frontend.

  • Public Services: These services, which do not require authentication, process user requests and send the output through the aggregation layer. The content is then delivered to the frontend.

Content Aggregation and Improvement Flow

  1. Content is generated through the AI processing units or public services and is aggregated by the content aggregator.
  2. User requests for improvements are routed to the improvement handler, which works with the content aggregator to refine and iterate the content based on user feedback.
  3. The refined content is then sent back to the frontend for presentation to the user.

Technical Considerations

  • Scalability: The system ensures horizontal scalability with independent scaling of AI processing units, as well as the distributed handling of public and protected service layers. Each layer can scale independently based on demand.

  • Security: The authentication gateway serves as the primary security checkpoint, ensuring that only authenticated requests can access protected services. OAuth-based authentication ensures secure user identification and session management.

  • Performance: The use of parallel AI processing, combined with a robust content aggregation system, ensures that the system can efficiently process and deliver content. The public and protected services are optimized for minimal latency.

  • Integration Points:

    • Integration with GitHub for authentication and API access.
    • Gemini AI services for advanced content generation and analysis.
    • Python backend for template-based processing.
    • SSR frontend ensures dynamic rendering of content based on user interaction.

  • Frontend Layer: Astro SSR with React.js integration
  • Authentication System: GitHub OAuth with Drizzle ORM
  • Protected Services: Eight core services powered by Gemini AI
  • Public Services: Accessible endpoints for non-authenticated users
  • CLI Processing Layer: Node.js-based command processing
  • Content Management: Aggregation and improvement handling

Installation & Setup:

Frontend:

git clone https://github.com/imprvhub/gitset.git
cd gitset
npm install
npm run dev

CLI:

npm install -g @gitset-dev/cli
gitset suggest  # Generate commit messages

Conclusion:

GitSet.dev represents a significant achievement in creating a comprehensive GitHub toolset that combines AI capabilities with practical development workflows. The project demonstrates proficiency in:

  • Building scalable, service-oriented architectures
  • Implementing OAuth authentication with GitHub
  • Developing CLI tools that adapt to user preferences
  • Integrating AI services for code analysis and content generation
  • Creating user-friendly interfaces for complex Git operations

The addition of the GitSet CLI, with its ability to learn and adapt to personal commit styles, showcases the project’s commitment to providing tools that enhance developer productivity while maintaining individual workflow preferences.



Tags :
Share :

Related Projects



✨ AnalyzeMyDream [Astro.js - FastAPI]

✨ AnalyzeMyDream [Astro.js - FastAPI]

AnalyzeMyDream is an innovative platform built using Astro.js, offering AI-powered dream interpretation to help users gain deeper insights into their dreams. The platform integrates seamlessly with FastAPI, Flask, and advanced AI models, providing quick and detailed analyses. Subscription-based pla

Read More



🎬 Cinemathe [Vue.js - Django Rest Framework]

🎬 Cinemathe [Vue.js - Django Rest Framework]

A full-stack web app developed with Vue.js and Django Rest Framework, that simplifies entertainment choices. It provides seamless authentication for saving favorites, detailed technical info for movies and TV series with reviews included, and social media content sharing.

Read More



⚡️Bolted [Python - Flask]

⚡️Bolted [Python - Flask]

Bolted is a sophisticated URL shortening service built with Python, leveraging the Flask framework and PostgreSQL (Supabase) for robust database management. This application demonstrates the versatility and power of Python in modern web development.

Read More