automanic

Automanic - Advanced Automated Repository Management Template

CI Deploy to GitHub Pages License: Unlicense

Automanic is a comprehensive template repository system designed to streamline the setup and management of software projects. It automatically determines the required file and folder structure, repository type, and settings based on user-provided specifications in a README.md file or through interactive methods. This tool provides complete automation for GitHub operations including issues, pull requests, reviews, commits, and merges, allowing developers to focus on coding rather than configuration.

🌐 Live Demo

Visit the interactive setup wizard: https://UniversalStandards.github.io/automanic

πŸš€ Quick Start

Follow these steps to get started with Automanic:

  1. Visit https://UniversalStandards.github.io/automanic
  2. Answer the configuration questions
  3. Copy the generated configuration block
  4. Paste it into your project’s README.md
  5. Run the setup script

Option 2: Clone and Configure Manually

  1. Clone this repository:
    git clone https://github.com/UniversalStandards/automanic.git
    cd automanic
    
  2. Install dependencies:

    For Python scripts:

    pip install pyyaml
    

    For the React web app (optional):

    npm install
    
  3. Run the interactive setup:
    ./scripts/interactive-setup.sh
    

    Or use the automatic setup with your README.md:

    ./scripts/setup.sh
    

πŸ“‹ Configuration Format

Add this configuration block to your README.md:

<!-- AUTOMANIC-CONFIG-START -->
PROJECT_TYPE: web-app
LANGUAGE: python
FRAMEWORK: fastapi
BUILD_SYSTEM: pip
DATABASE: postgresql
DEPLOYMENT: docker
CI_CD: github-actions
TESTING: pytest
LICENSE_TYPE: mit
VISIBILITY: public
<!-- AUTOMANIC-CONFIG-END -->

# Your Project Title

Your project description here...

Configuration Options

Field Options
PROJECT_TYPE web-app, cli-tool, library, api, mobile-app, desktop-app, data-science, documentation
LANGUAGE python, javascript, typescript, go, rust, java, cpp, c, php, ruby, swift, kotlin, scala, r
FRAMEWORK react, vue, angular, express, fastapi, django, spring, gin, actix, electron, flutter, pytorch, tensorflow, none
BUILD_SYSTEM npm, yarn, pip, cargo, maven, gradle, make, cmake, none
DATABASE postgresql, mysql, mongodb, redis, sqlite, none
DEPLOYMENT docker, kubernetes, aws, gcp, azure, vercel, netlify, heroku, none
CI_CD github-actions, jenkins, gitlab-ci, circleci, travis-ci, none
TESTING jest, pytest, cargo-test, junit, go-test, rspec, none
LICENSE_TYPE mit, apache-2.0, gpl-v3, bsd-3-clause, unlicense, proprietary
VISIBILITY public, private

πŸ› οΈ Features

Automated Repository Setup

Three Configuration Methods

  1. Interactive Web GUI: User-friendly web interface for configuration
  2. CLI Walkthrough: Interactive command-line setup wizard
  3. README.md Template: Upload a pre-configured README.md

AI Integration

GitHub Actions Automation

Issue and PR Management

πŸ“ Generated Project Structure

your-project/
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ workflows/          # CI/CD workflows
β”‚   β”‚   β”œβ”€β”€ ci.yml         # Continuous Integration
β”‚   β”‚   β”œβ”€β”€ deploy.yml     # Deployment workflow
β”‚   β”‚   β”œβ”€β”€ auto-management.yml  # Issue/PR automation
β”‚   β”‚   └── auto-release.yml     # Release automation
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/    # Issue templates
β”‚   β”œβ”€β”€ PULL_REQUEST_TEMPLATE.md
β”‚   └── dependabot.yml     # Dependency updates
β”œβ”€β”€ src/                   # Source code
β”œβ”€β”€ tests/                 # Unit tests
β”œβ”€β”€ docs/                  # Documentation
β”œβ”€β”€ scripts/              # Automation scripts
β”œβ”€β”€ config/               # Configuration files
β”œβ”€β”€ .gitignore           # Git ignore rules
β”œβ”€β”€ .editorconfig        # Editor configuration
β”œβ”€β”€ README.md            # Project documentation
β”œβ”€β”€ CONTRIBUTING.md      # Contribution guidelines
β”œβ”€β”€ CHANGELOG.md         # Version history
β”œβ”€β”€ SECURITY.md          # Security policy
└── LICENSE              # License file

πŸ”§ GitHub Pages Deployment

This repository is configured for automatic deployment to GitHub Pages.

How to Enable GitHub Pages

  1. Go to your repository Settings
  2. Navigate to Pages in the left sidebar
  3. Under Build and deployment:
    • Source: Select β€œGitHub Actions”
  4. The site will automatically deploy when you push to the main branch

The GitHub Pages site will be available at: https://[username].github.io/automanic

Manual Deployment

npm install
npm run deploy

πŸ“š Documentation

🎯 Supported Project Types

Type Languages Frameworks Features
Web App JS/TS, Python, Go React, Vue, Django, Express Full-stack setup, deployment
CLI Tool Go, Rust, Python, JS Cobra, Clap, Click, Commander Binary building, distribution
Library All supported Framework-specific Package publishing, docs
API Python, Go, JS, Java FastAPI, Gin, Express, Spring OpenAPI specs, testing
Mobile Dart, Swift, Kotlin Flutter, React Native Platform builds, stores
Desktop JS/TS, Go, Rust Tauri, Electron Cross-platform building
Data Science Python, R PyTorch, TensorFlow Notebook setup, viz tools
Documentation Markdown MkDocs, Sphinx Site generation, hosting

πŸ›‘οΈ Security Features

🀝 Contributing

Contributions are welcome! Please read our Contributing Guide for details.

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Add tests if applicable
  5. Submit a pull request

πŸ“„ License

This project is released into the public domain under the Unlicense.