sayanarijit
The Cottage Book – managing secrets in Git with usage scenarios
Cottage makes it more convenient by introducing simplified recipients management with verifiable access control, standardising private key location, git hooks based automation, auto gitignore management, sync with provider and devices options, intuitive APIs etc.
Show HN: Own Your Secrets – Sync encrypted secrets from any repo to any device
https://cottage-sync.github.io
This browser-local WASM app complements https://github.com/sayanarijit/cottage which helps you manage age-encrypted (supports SSH RSA/ed25519 keys) secrets in you own repo.Brower Local - All data is encryped and stored locally in your browser. It treats your git repository as the secret provider.WASM - This app is made with Rust WASM which allows type-enforced safe secrets handling.How it works...
Show HN: A modern Git based age-encrypted secrets manager for teams
https://github.com/sayanarijit/cottage
Cottage is a secrets manager that teams can use to do more than encrypt and share secrets.It falls in the same category of agebox, blackbox, sops, git-crypt, but has a friendlier interface and differs is some opinion.* Stores encrypted secrets with .age extension so that it can be integrated with an wider ecosystem of tooling.* Separate metadata with checksums and previews with values redated...
Cottage – A modern Git based age-encrypted secrets manager for teams
It provides a simple workflow to encrypt/decrypt secrets, manage recipients, and keep secrets out of the repo while still allowing for easy sharing via VCS. Cottage also generates redacted previews of encrypted secrets for better visibility and supports both persistent and temporary decryption workflows, while ensuring secrets are never committed in plaintext.
Show HN: Typesafe async friendly unopinionated enhancements to SQLAlchemy Core
https://github.com/sayanarijit/sqla-fancy-core
## Why?- ORMs are magical, but it's not always a feature. Sometimes, we crave for familiar.- SQLAlchemy Core is powerful but `table.c.column` breaks static type checking and has runtime overhead. This library provides a better way to define tables while keeping all of SQLAlchemy's flexibility. See Table Factory.- The idea of sessions can feel too magical and opinionated. This library removes...
Show HN: SQLAlchemy just the core – a better way
https://github.com/sayanarijit/sqla-fancy-core
For people who prefer to avoid ORM magic, this library defines a factory class that helps declare tables for SQLAlchemy core in a better way, so that the benefits of linting and editing tools can be utilised and a better syntax can be used for the queries.
tree-view.xplr is one example of such Lua plugins, which implements a tree-view layout for xplr, with extra functionalities.
Other similar layout plugins include:
- zentable.xplr (for a clean, distraction free view)
- dual-pane.xplr (for Midnight Commander like dual pane view)
- tri-pane.xplr (for Ranger like tri-pane view)
You can, of course, combine all of them, and toggle between different views while exploring.
Tree-view.xplr – implements a hackable tree view for xplr terminal file explorer
Show HN: Jf – A jo alternative to format JSON objects in the commandline
Xplr – 1, 2 or 3 panes – choose a layout that works for you
Don't forget the startup time overhead of first loading a whole interpreter into memory, then loading a python program into the interpreter.
Show HN: Qrscan – Shell and Camera = Commandline QR Code Scanner
xplr.config.modes.builtin.default.key_bindings.on_key.T = {
help = "tere nav",
messages = {
{ BashExec = [[echo ChangeDirectory: "'"$(tere)"'" >> "$XPLR_PIPE_MSG_IN"]] },
},
}Language: Rust
Supported platforms: Currently tested on Linux, but should also run on Unix, Linux, Mac, Windows
I just published this, so expect a few bugs here and there. If found, please report.
Show HN: Qrscan – Scan a QR code in terminal using system camera or given image
Show HN: Gh-xplr – Explore GitHub repos using xplr via GitHub CLI
Show HN: Xplr – Terminal file explorer powered by Rust to be hacked via LuaJIT
In Rust community, it's a common knowledge that 1. If it's a high level tool, it will have multiple dependencies, and 2. The actual dependency list will be auto generated by the package managers (cargo or os) and be pinned in every release, available publicly.