diff --git a/README.md b/README.md index ffe7ab4..5ad3b9c 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,23 @@ File bugs and feature requests at [GitHub Issues](https://github.com/StrangeDays We welcome patches! Please read [CONTRIBUTING.md](CONTRIBUTING.md) before submitting a PR. All contributors must sign the **Contributor License Agreement (CLA)** — the CLA bot will guide you on your first pull request. +## Built with AI · Powered by StrayMark + +`arborist-cli` is an experiment in **disciplined AI-assisted development**. +The implementation — the `clap`-derived CLI surface, the three output +formats (table / JSON / CSV), the directory traversal layer, self-update +from GitHub Releases, and the 29-test integration suite — was authored +largely by AI agents under human direction. + +To make that velocity sustainable, we use **[StrayMark](https://straymark.dev)**: +a CLI for *cognitive discipline in AI-assisted engineering*. It turned every +architectural choice into an AIDEC record and every implementation block into +an AILOG — all under `.straymark/`, append-only and audit-ready. The +governance artifacts emerged **alongside** the code, not as homework after. + +> StrayMark is built by Strange Days Tech — the same team behind `arborist-cli`. +> It is the tool we made to solve our own problem. + ## License Licensed under either of @@ -306,3 +323,13 @@ Licensed under either of at your option. Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. + +--- + +## Copyright + +**`arborist-cli`** is © 2026 **[Strange Days Tech S.A.S. de C.V.](https://strangedays.tech/)** — original author and intellectual-property holder of the source code. + +The CLI is released under the dual MIT / Apache-2.0 license above; this notice records authorship and does **not** modify those license terms. Each source file carries an SPDX header reflecting the same. + +> Built by **[Strange Days Tech](https://strangedays.tech/)** — México. diff --git a/src/about.rs b/src/about.rs index 4fe0f69..8b1f9ec 100644 --- a/src/about.rs +++ b/src/about.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + pub fn print() { let version = env!("CARGO_PKG_VERSION"); let description = env!("CARGO_PKG_DESCRIPTION"); diff --git a/src/analysis.rs b/src/analysis.rs index 2cb98f3..a3a3c2a 100644 --- a/src/analysis.rs +++ b/src/analysis.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use std::io::Read; use std::path::{Path, PathBuf}; diff --git a/src/cli.rs b/src/cli.rs index c85b14e..6cbbaaa 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use std::path::PathBuf; use clap::{Parser, Subcommand, ValueEnum}; diff --git a/src/error.rs b/src/error.rs index e35340b..eff5998 100644 --- a/src/error.rs +++ b/src/error.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use std::process::ExitCode; #[derive(Debug, thiserror::Error)] diff --git a/src/lib.rs b/src/lib.rs index b7f9f31..43196d7 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + pub mod about; pub mod analysis; pub mod cli; diff --git a/src/main.rs b/src/main.rs index 532396a..a76e925 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use std::process::ExitCode; use clap::Parser; diff --git a/src/output/csv_output.rs b/src/output/csv_output.rs index 4be77d1..99dcba7 100644 --- a/src/output/csv_output.rs +++ b/src/output/csv_output.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use std::io; use arborist::FileReport; diff --git a/src/output/json.rs b/src/output/json.rs index ebed1ab..a6df411 100644 --- a/src/output/json.rs +++ b/src/output/json.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use std::io::{self, Write}; use arborist::FileReport; diff --git a/src/output/mod.rs b/src/output/mod.rs index bf7b669..47f59eb 100644 --- a/src/output/mod.rs +++ b/src/output/mod.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + pub mod csv_output; pub mod json; pub mod table; diff --git a/src/output/table.rs b/src/output/table.rs index 7c75960..09ca5ce 100644 --- a/src/output/table.rs +++ b/src/output/table.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use std::io::{self, IsTerminal, Write}; use arborist::FileReport; diff --git a/src/traversal.rs b/src/traversal.rs index 39da9cc..63e623e 100644 --- a/src/traversal.rs +++ b/src/traversal.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use std::path::{Path, PathBuf}; use ignore::WalkBuilder; diff --git a/src/update.rs b/src/update.rs index 099a9c4..82a138a 100644 --- a/src/update.rs +++ b/src/update.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use std::process::ExitCode; const CURRENT_VERSION: &str = env!("CARGO_PKG_VERSION"); diff --git a/tests/cli/directory.rs b/tests/cli/directory.rs index d928508..ba94a12 100644 --- a/tests/cli/directory.rs +++ b/tests/cli/directory.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use assert_cmd::Command; use predicates::prelude::*; diff --git a/tests/cli/exit_codes.rs b/tests/cli/exit_codes.rs index 2c4d60e..c5bdf43 100644 --- a/tests/cli/exit_codes.rs +++ b/tests/cli/exit_codes.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use assert_cmd::Command; fn cmd() -> Command { diff --git a/tests/cli/filtering.rs b/tests/cli/filtering.rs index 642ff0c..ea5c278 100644 --- a/tests/cli/filtering.rs +++ b/tests/cli/filtering.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use assert_cmd::Command; use predicates::prelude::*; diff --git a/tests/cli/main.rs b/tests/cli/main.rs index 2d15060..7839ebb 100644 --- a/tests/cli/main.rs +++ b/tests/cli/main.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + mod directory; mod exit_codes; mod filtering; diff --git a/tests/cli/multi_input.rs b/tests/cli/multi_input.rs index 1204b80..1d266b6 100644 --- a/tests/cli/multi_input.rs +++ b/tests/cli/multi_input.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use assert_cmd::Command; use predicates::prelude::*; diff --git a/tests/cli/output_formats.rs b/tests/cli/output_formats.rs index 3f1d9e3..d35a26a 100644 --- a/tests/cli/output_formats.rs +++ b/tests/cli/output_formats.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use assert_cmd::Command; use predicates::prelude::*; diff --git a/tests/cli/single_file.rs b/tests/cli/single_file.rs index c093ae6..78606e0 100644 --- a/tests/cli/single_file.rs +++ b/tests/cli/single_file.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use assert_cmd::Command; use predicates::prelude::*; diff --git a/tests/cli/stdin.rs b/tests/cli/stdin.rs index 0dd9b46..19120eb 100644 --- a/tests/cli/stdin.rs +++ b/tests/cli/stdin.rs @@ -1,3 +1,6 @@ +// SPDX-License-Identifier: MIT OR Apache-2.0 +// Copyright (c) 2026 Strange Days Tech S.A.S. de C.V. + use assert_cmd::Command; use predicates::prelude::*;