Skip to main content

Crate ferrous_forge

Crate ferrous_forge 

Source
Expand description

§Ferrous Forge

The Type-Safe Rust Development Standards Enforcer

Ferrous Forge is a comprehensive system-wide tool that automatically enforces professional Rust development standards across all projects on your machine.

§Features

  • Zero underscore bandaid coding enforcement
  • Edition 2024 automatic upgrades
  • System-wide cargo command hijacking
  • Automatic project template injection
  • Real-time code validation
  • Professional CI/CD setup

§Quick Start

use ferrous_forge::{Config, Result};

#[tokio::main]
async fn main() -> Result<()> {
    // Load or create default configuration
    let config = Config::load_or_default().await?;
    println!("Ferrous Forge v{}", ferrous_forge::VERSION);
    println!("Required edition: {}", config.required_edition);
    Ok(())
}

§CLI Usage

cargo install ferrous-forge
ferrous-forge init
cargo new my-project  # Now follows all standards automatically

§Modules

§Core

  • cli — Command line interface definitions and argument parsing
  • commands — Implementation of all Ferrous Forge commands
  • config — Configuration management and hierarchical config system
  • error — Error types and result handling

§Standards & Validation

  • standards — Development standards definitions and enforcement
  • validation — Core validation logic and rule enforcement
  • safety — Safety pipeline and enforcement mechanisms
  • formatting — Code formatting enforcement and validation

§Rust Ecosystem

  • edition — Rust edition management and upgrade assistance
  • rust_version — Rust version checking and compatibility validation
  • doc_coverage — Documentation coverage checking and reporting
  • security — Security auditing and vulnerability scanning
  • test_coverage — Test coverage integration and reporting

§Tooling

  • templates — Project template system and built-in templates
  • git_hooks — Git hooks installation and management
  • cargo_intercept — Cargo command interception for publish validation
  • updater — Self-update functionality and version management

§Analysis

  • ai_analyzer — AI-powered violation analysis and fix suggestions
  • performance — Performance optimizations for validation

Re-exports§

pub use crate::config::Config;
pub use crate::error::Error;
pub use crate::error::Result;

Modules§

ai_analyzer
AI-powered violation analysis and fix suggestions AI analysis module for automated violation analysis
cargo_intercept
Cargo command interception for publish validation Cargo publish interception system
cli
Command line interface definitions and argument parsing Command Line Interface for Ferrous Forge
commands
Implementation of all Ferrous Forge commands Command implementations for Ferrous Forge
config
Configuration management and hierarchical config system Configuration management for Ferrous Forge
doc_coverage
Documentation coverage checking and reporting Documentation coverage checking module
edition
Rust edition management and upgrade assistance Rust edition detection and migration assistance
error
Error types and result handling Error handling for Ferrous Forge
formatting
Code formatting enforcement and validation Code formatting and auto-correction module
git_hooks
Git hooks installation and management Git hooks installation and management
performance
Performance optimizations for validation Performance optimizations for Ferrous Forge
rust_version
Rust version checking and compatibility validation Rust version management and checking
safety
Safety pipeline and enforcement mechanisms Enhanced Safety Pipeline for Ferrous Forge
security
Security auditing and vulnerability scanning Security audit integration module
standards
Development standards definitions and enforcement Rust coding standards definitions and enforcement
templates
Project template system and built-in templates Template System 2.0 - Project templates with Ferrous Forge standards built-in
test_coverage
Test coverage integration and reporting Test coverage module - now modularized for better organization
updater
Self-update functionality and version management Self-update system for Ferrous Forge
validation
Core validation logic and rule enforcement Rust code validation engine

Constants§

MIN_RUST_VERSION
Minimum supported Rust version
REQUIRED_EDITION
Edition enforced by Ferrous Forge
VERSION
Current version of Ferrous Forge