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:
43
src/main.rs
Normal file
43
src/main.rs
Normal 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(())
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user