Skip to content

avadakedavra-wp/fazrepo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FazRepo Monorepo

A blazing-fast CLI tool built in Rust to check package manager versions across npm, yarn, pnpm, and bun, with a beautiful web interface and comprehensive documentation.

οΏ½ Installation

Quick Install (Recommended)

Linux/macOS (Bash/Zsh)

curl -fsSL https://raw.githubusercontent.com/avadakedavra-wp/fazrepo/main/install.sh | bash

Windows (PowerShell)

powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/avadakedavra-wp/fazrepo/main/install.ps1 | iex"

Alternative for Windows (Command Prompt)

curl -fsSL https://raw.githubusercontent.com/avadakedavra-wp/fazrepo/main/install.sh | bash

Note: Requires Git Bash, WSL, or MSYS2

Alternative Installation Methods

Package Managers

# Using Cargo (if you have Rust installed)
cargo install fazrepo

# Using Homebrew (macOS/Linux)
brew tap avadakedavra-wp/fazrepo
brew install fazrepo

Manual Download

  1. Visit GitHub Releases
  2. Download the appropriate binary for your platform:
    • fazrepo-x86_64-unknown-linux-gnu (Linux x64)
    • fazrepo-aarch64-unknown-linux-gnu (Linux ARM64)
    • fazrepo-x86_64-apple-darwin (macOS Intel)
    • fazrepo-aarch64-apple-darwin (macOS Apple Silicon)
    • fazrepo-x86_64-pc-windows-msvc.exe (Windows x64)
  3. Place it in your PATH and make it executable

Build from Source

git clone https://github.com/avadakedavra-wp/fazrepo.git
cd fazrepo/apps/cli
cargo build --release
# Binary will be at target/release/fazrepo

πŸš€ Quick Start

Verify Installation

fazrepo --version
fazrepo check

Basic Usage

# Initialize fazrepo (creates config file)
fazrepo init

# Check all package managers
fazrepo check

# Check with detailed information
fazrepo check --detailed

# Check only specific managers
fazrepo check --only npm,yarn

# List all supported package managers
fazrepo list

# Show version information
fazrepo version

πŸ› οΈ Troubleshooting

"fazrepo: command not found"

  1. Restart your terminal - PATH changes require a new shell session
  2. Check installation location:
    # Linux/macOS
    ls -la ~/.local/bin/fazrepo
    
    # Windows
    dir %USERPROFILE%\.local\bin\fazrepo.exe
  3. Manually add to PATH:
    # Linux/macOS (add to ~/.bashrc or ~/.zshrc)
    export PATH="$PATH:$HOME/.local/bin"
    
    # Windows PowerShell (run as administrator)
    $env:PATH += ";$env:USERPROFILE\.local\bin"

Windows Installation Issues

  1. PowerShell Execution Policy:

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  2. Alternative using winget (if available):

    winget install fazrepo
  3. Use Windows Subsystem for Linux (WSL):

    curl -fsSL https://raw.githubusercontent.com/avadakedavra-wp/fazrepo/main/install.sh | bash

🌍 Platform Support

fazrepo supports all major platforms and architectures:

Platform x86_64 ARM64 Notes
Linux βœ… βœ… Ubuntu, Debian, CentOS, Fedora, Arch
macOS βœ… βœ… Intel and Apple Silicon
Windows βœ… βœ… Native, Git Bash, WSL, MSYS2

Supported Installation Methods

Method Linux macOS Windows Notes
Install Script βœ… βœ… βœ… Recommended for all platforms
Cargo βœ… βœ… βœ… Requires Rust toolchain
Homebrew βœ… βœ… βœ… macOS/Linux package manager
Direct Download βœ… βœ… βœ… Manual installation
Zip Archives βœ… βœ… βœ… Portable installation

πŸ“ Monorepo Structure

This project uses Turbo for efficient monorepo management.

faz-repo/
β”œβ”€β”€ apps/
β”‚   β”œβ”€β”€ cli/          # Rust CLI application
β”‚   β”œβ”€β”€ web/          # Next.js landing page
β”‚   └── docs/         # Nextra documentation site
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ ui/           # Shared UI components
β”‚   └── config/       # Shared configuration
└── scripts/          # Build and release scripts

πŸ› οΈ Development

Prerequisites

  • Node.js 18+
  • Rust (for CLI development)
  • pnpm (recommended) or npm

Setup

# Install dependencies
pnpm install

# Build all packages
pnpm build

# Start development servers
pnpm dev

Available Scripts

  • pnpm dev - Start all development servers
  • pnpm build - Build all packages
  • pnpm lint - Lint all packages
  • pnpm test - Run tests
  • pnpm clean - Clean all build artifacts

Individual Apps

# CLI development
pnpm cli:build
pnpm --filter cli dev

# Web development
pnpm web:dev
pnpm --filter web dev

# Docs development  
pnpm docs:dev
pnpm --filter docs dev

🌐 Web Applications

Landing Page (apps/web)

  • Port: 3000
  • Tech: Next.js 14, TypeScript, Tailwind CSS
  • Purpose: Marketing site and project showcase

Documentation (apps/docs)

  • Port: 3001
  • Tech: Nextra, MDX
  • Purpose: Comprehensive documentation and guides

πŸ“¦ Packages

@ui - Shared UI Components

Reusable React components used across web applications:

  • Button
  • Card
  • Badge

@config - Shared Configuration

Common configuration and constants shared across the monorepo.

πŸš€ CLI Features

  • Lightning Fast: Built in Rust for maximum performance
  • Cross Platform: Windows, macOS, and Linux support
  • Multiple Managers: npm, yarn, pnpm, and bun
  • Colored Output: Beautiful terminal output with status indicators
  • Detailed Mode: Get installation paths and additional information

πŸ“‹ Supported Package Managers

  • npm: Node Package Manager
  • yarn: Yarn Package Manager
  • pnpm: Performant npm
  • bun: Bun Runtime & Package Manager

🎯 CLI Commands

fazrepo check

Check versions of all installed package managers.

Options:

  • -d, --detailed: Show detailed information including installation paths
  • -o, --only <managers>: Only check specific package managers (comma-separated)

fazrepo list

List all supported package managers with descriptions.

fazrepo version

Show version information.

fazrepo init

Initialize fazrepo in the current directory (creates a .fazrepo config file).

πŸ—οΈ Architecture

Monorepo Benefits

  • Shared Dependencies: Common packages reduce duplication
  • Atomic Changes: Changes across multiple apps in single commit
  • Faster Builds: Turbo's intelligent caching and parallel execution
  • Consistent Tooling: Unified linting, testing, and build processes

Technology Stack

  • CLI: Rust with clap, tokio, colored
  • Web: Next.js 14 with TypeScript and Tailwind CSS
  • Docs: Nextra with MDX
  • Build System: Turbo for monorepo management
  • Package Manager: pnpm for efficient dependency management

🀝 Contributing

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

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run tests and linting: pnpm test && pnpm lint
  5. Submit a pull request

πŸ“„ License

MIT License - see LICENSE for details.

πŸ”— Links

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published