feat(02-01): project scaffolding with Cargo, CLI skeleton, and key module

- Initialize Rust project with aes, cbc, hmac, sha2, flate2, clap, rand, anyhow dependencies
- Add clap derive CLI with pack/unpack/inspect subcommands
- Add hardcoded 32-byte AES-256 key constant
- Create stub modules for format, crypto, compression, archive
- All 7 source files in place, cargo build succeeds

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
NikitolProject
2026-02-24 23:56:09 +03:00
parent 673c1191a0
commit c647f3a90e
9 changed files with 592 additions and 0 deletions

43
src/main.rs Normal file
View File

@@ -0,0 +1,43 @@
mod archive;
mod cli;
mod compression;
mod crypto;
mod format;
mod key;
use clap::Parser;
use cli::{Cli, Commands};
fn main() -> anyhow::Result<()> {
let cli = Cli::parse();
match cli.command {
Commands::Pack {
files,
output,
no_compress,
} => {
println!(
"Pack: {} files -> {:?} (no_compress: {:?})",
files.len(),
output,
no_compress
);
println!("Not implemented yet");
Ok(())
}
Commands::Unpack {
archive,
output_dir,
} => {
println!("Unpack: {:?} -> {:?}", archive, output_dir);
println!("Not implemented yet");
Ok(())
}
Commands::Inspect { archive } => {
println!("Inspect: {:?}", archive);
println!("Not implemented yet");
Ok(())
}
}
}