bare-script 0.1.1

The type-safe scripting authority for Rust. A framework for building robust shell commands and automation with 'Parse, don't validate' philosophy.
Documentation
[package]

name = "bare-script"

version = "0.1.1"

edition = "2024"

# MSRV: This crate requires Rust 1.85.0+ due to:

# - Edition 2024 features

# - Strict linting configuration

# - Newtype pattern and type-state pattern usage

# MSRV Policy: We aim to support the two latest stable releases.

# When upgrading MSRV, we will bump the minor version and document changes.

rust-version = "1.85.0"

authors = ["bare-rs contributors"]

license-file = "LICENSE-MIT"

repository = "https://github.com/bare-rs/bare-script"

homepage = "https://github.com/bare-rs/bare-script"

documentation = "https://docs.rs/bare-script"

keywords = ["script", "cli", "shell", "command", "automation"]

categories = ["command-line-utilities", "development-tools", "os"]

description = "The type-safe scripting authority for Rust. A framework for building robust shell commands and automation with 'Parse, don't validate' philosophy."

readme = "README.md"

include = [

    "src/**/*",

    "examples/**/*",

    "tests/**/*",

    "benches/**/*",

    "LICENSE-*",

    "README.md",

    "CHANGELOG.md",

    "CONTRIBUTING.md",

    "ARCHITECTURE.md",

    "CODE_OF_CONDUCT.md",

    "SECURITY.md",

    "GOVERNANCE.md",

    "NOTICE.md",

    "RELEASE_CHECKLIST.md",

    "SUPPORT.md",

]



[features]

default = ["tokio-rt"]

tokio-rt = ["dep:tokio"]

tokio-full = ["dep:tokio"]

logging = ["dep:log"]



[dependencies]

thiserror = "2.0"



[dependencies.log]

version = "0.4"

optional = true



[dependencies.tokio]

version = "1"

optional = true

default-features = false

features = ["process", "io-util", "time"]



[dev-dependencies]

tokio = { version = "1", features = ["full", "test-util", "macros"] }

criterion = { version = "0.5", features = ["async_tokio"] }



[[bench]]

name = "bench"

harness = false



[lints.rust]

unsafe_code = "forbid"

deprecated = "deny"

ambiguous-associated-items = "deny"

arithmetic-overflow = "deny"

binary-asm-labels = "deny"

bindings-with-variant-name = "deny"

conflicting-repr-hints = "deny"

dangerous-implicit-autorefs = "deny"

dependency-on-unit-never-type-fallback = "deny"

deref-nullptr = "deny"

elided-lifetimes-in-associated-constant = "deny"

enum-intrinsics-non-enums = "deny"

ill-formed-attribute-input = "deny"

invalid-atomic-ordering = "deny"

invalid-from-utf8-unchecked = "deny"

late-bound-lifetime-arguments = "deny"

legacy-derive-helpers = "deny"



unexpected_cfgs = { level = "warn", check-cfg = ['cfg(docsrs)'] }

missing_docs = "warn"

absolute-paths-not-starting-with-crate = "warn"

ambiguous-negative-literals = "warn"

closure-returning-async-block = "warn"

deprecated-in-future = "warn"

deprecated-safe-2024 = "warn"

deref-into-dyn-supertrait = "warn"

edition-2024-expr-fragment-specifier = "warn"

elided-lifetimes-in-paths = "warn"

explicit-outlives-requirements = "warn"

if-let-rescope = "warn"

impl-trait-overcaptures = "warn"

impl-trait-redundant-captures = "warn"

keyword-idents-2018 = "warn"

keyword-idents-2024 = "warn"

let-underscore-drop = "warn"

linker-messages = "warn"

macro-use-extern-crate = "warn"

missing-copy-implementations = "warn"

missing-debug-implementations = "warn"

missing-unsafe-on-extern = "warn"

non-ascii-idents = "warn"

redundant-imports = "warn"

redundant-lifetimes = "warn"

rust-2021-incompatible-closure-captures = "warn"

rust-2021-incompatible-or-patterns = "warn"

rust-2021-prefixes-incompatible-syntax = "warn"

rust-2021-prelude-collisions = "warn"

rust-2024-guarded-string-incompatible-syntax = "warn"

rust-2024-incompatible-pat = "warn"

rust-2024-prelude-collisions = "warn"

single-use-lifetimes = "warn"

unnameable-types = "warn"

unreachable-pub = "warn"

unsafe-attr-outside-unsafe = "warn"

unsafe-op-in-unsafe-fn = "warn"

unstable-features = "warn"

unused-crate-dependencies = "allow"

unused-extern-crates = "warn"

unused-import-braces = "warn"

unused-lifetimes = "warn"

unused-macro-rules = "warn"

unused-qualifications = "warn"

unused-results = "warn"

variant-size-differences = "warn"

async-fn-in-trait = "warn"

bad-asm-style = "warn"

dead-code = "warn"

improper-ctypes = "warn"

improper-ctypes-definitions = "warn"

invalid-from-utf8 = "warn"

invalid-nan-comparisons = "warn"

invalid-value = "warn"

malformed-diagnostic-attributes = "warn"

malformed-diagnostic-format-literals = "warn"

missing-abi = "warn"

mixed-script-confusables = "warn"

named-arguments-used-positionally = "warn"

non-camel-case-types = "warn"

non-contiguous-range-endpoints = "warn"

non-fmt-panics = "warn"

non-local-definitions = "warn"

non-shorthand-field-patterns = "warn"

non-snake-case = "warn"

non-upper-case-globals = "warn"

noop-method-call = "warn"

overlapping-range-endpoints = "warn"

path-statements = "warn"

redundant-semicolons = "warn"



[lints.clippy]

indexing_slicing = "allow"

as_conversions = "allow"

same_name_method = "allow"

single_call_fn = "allow"

map_err_ignore = "allow"

implicit_return = "allow"

question_mark_used = "allow"

integer_division_remainder_used = "allow"

min_ident_chars = "allow"



[package.metadata.docs.rs]

all-features = true

rustdoc-args = ["--cfg", "docsrs"]