mrvillage-cli 0.1.15

My personal CLI
use include_dir::include_dir;

use crate::structs::{template::Template, template_file::TemplateFileWrapper};

use super::template_files::{
    CARGO_CONFIG, CHANGELOG_MD, CLIPPY_CONFIG, LICENSE, MRVILLAGE_CONFIG, PRETTIERRC,
    RELEASE_ACTION_BINARY, RELEASE_ACTION_LIBRARY, RELEASE_TOML, REMIX_ESLINTRC, RUSTFMT_CONFIG,
    RUST_GITIGNORE,
};

pub const ADVENT_OF_CODE_2022_RUST: Template = Template {
    name: "aoc22-rs",
    dir: include_dir!("$CARGO_MANIFEST_DIR/templates/advent_of_code_2022_rust"),
    config_files: &[
        TemplateFileWrapper::new("", &CLIPPY_CONFIG),
        TemplateFileWrapper::new("", &RUSTFMT_CONFIG),
        TemplateFileWrapper::new("", &CARGO_CONFIG),
        TemplateFileWrapper::new("", &RUST_GITIGNORE),
        TemplateFileWrapper::new("", &MRVILLAGE_CONFIG),
    ],
    git: false,
};

pub const RUST_BIN: Template = Template {
    name: "default-rs",
    dir: include_dir!("$CARGO_MANIFEST_DIR/templates/default_rust_bin"),
    config_files: &[
        TemplateFileWrapper::new("", &CLIPPY_CONFIG),
        TemplateFileWrapper::new("", &RUSTFMT_CONFIG),
        TemplateFileWrapper::new("", &CARGO_CONFIG),
        TemplateFileWrapper::new("", &RUST_GITIGNORE),
        TemplateFileWrapper::new("", &MRVILLAGE_CONFIG),
        TemplateFileWrapper::new(".github/workflows", &RELEASE_ACTION_BINARY),
        TemplateFileWrapper::new("", &RELEASE_TOML),
        TemplateFileWrapper::new("", &CHANGELOG_MD),
        TemplateFileWrapper::new("", &LICENSE),
    ],
    git: true,
};

pub const RUST_LIB: Template = Template {
    name: "default-rs",
    dir: include_dir!("$CARGO_MANIFEST_DIR/templates/default_rust_lib"),
    config_files: &[
        TemplateFileWrapper::new("", &CLIPPY_CONFIG),
        TemplateFileWrapper::new("", &RUSTFMT_CONFIG),
        TemplateFileWrapper::new("", &CARGO_CONFIG),
        TemplateFileWrapper::new("", &RUST_GITIGNORE),
        TemplateFileWrapper::new("", &MRVILLAGE_CONFIG),
        TemplateFileWrapper::new(".github/workflows", &RELEASE_ACTION_LIBRARY),
        TemplateFileWrapper::new("", &RELEASE_TOML),
        TemplateFileWrapper::new("", &CHANGELOG_MD),
        TemplateFileWrapper::new("", &LICENSE),
    ],
    git: true,
};

pub const REMIX_PAGES: Template = Template {
    name: "remix-pages",
    dir: include_dir!("$CARGO_MANIFEST_DIR/templates/remix_pages"),
    config_files: &[
        TemplateFileWrapper::new("", &PRETTIERRC),
        TemplateFileWrapper::new("", &REMIX_ESLINTRC),
        TemplateFileWrapper::new("", &MRVILLAGE_CONFIG),
    ],
    git: true,
};