Initial IronStorage project structure
This commit is contained in:
43
README.md
Normal file
43
README.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# IronStorage
|
||||
|
||||
IronStorage is a native client for
|
||||
[`pass`](https://git.zx2c4.com/password-store/about/) and
|
||||
[`pass-otp`](https://github.com/tadfisher/pass-otp).
|
||||
|
||||
`pass` stores entries as GPG-encrypted `.gpg` files in an ordinary directory
|
||||
tree (normally `~/.password-store`), selects one or more recipients through
|
||||
`.gpg-id` files, and can track changes in Git. IronStorage keeps that format
|
||||
and the first-party `pass` command behavior. `pass-otp` compatibility adds
|
||||
`otpauth://` secrets, OTP generation, and QR import/export.
|
||||
|
||||
The compatibility target includes init, list/show, find/grep, insert/edit,
|
||||
generate, remove, move/copy, and Git-backed commit and synchronization flows.
|
||||
Remote synchronization is HTTPS-only and uses server/application credentials
|
||||
kept in the operating system's secure store.
|
||||
|
||||
The central `ironstorage` Rust crate owns repository access, Git,
|
||||
GPG-compatible encryption and key handling, entries, OTP, synchronization,
|
||||
and platform-secure credential orchestration. Applications are presentation
|
||||
and interaction adapters only. Runtime subprocesses—including `pass`, `git`,
|
||||
and `gpg`—are forbidden; compatibility is implemented in Rust.
|
||||
|
||||
Candidate libraries and the pending project-license decision are tracked in
|
||||
[`DEPENDENCIES.md`](DEPENDENCIES.md).
|
||||
|
||||
## Project layout
|
||||
|
||||
```text
|
||||
crates/storage password-store domain and storage library
|
||||
crates/apple UniFFI boundary for Apple presentation code
|
||||
apps/cli pass-compatible command-line frontend
|
||||
apps/tui Ratatui frontend
|
||||
apps/desktop Iced desktop frontend for macOS, Windows, and Linux
|
||||
apple/ iPhone, AutoFill, and watchOS presentation targets
|
||||
```
|
||||
|
||||
The Apple project is generated with XcodeGen:
|
||||
|
||||
```sh
|
||||
cd apple
|
||||
xcodegen generate
|
||||
```
|
||||
Reference in New Issue
Block a user