chore: auto-commit uncommitted changes

This commit is contained in:
James 2026-03-28 06:01:23 -04:00
parent fc9f49bf18
commit 35c9e106b5
351 changed files with 592 additions and 3553 deletions

68
clavis/clavis-cli/.clangd Normal file
View File

@ -0,0 +1,68 @@
# clangd configuration for clavitor-cli
# Place this at project root
CompileFlags:
# Base C11 standard
Add:
- -std=c11
- -Wall
- -Wextra
- -DNDEBUG
- -D_GNU_SOURCE
# Include paths
- -Ivendor/bearssl/inc
- -Ivendor/bearssl/src
- -Ivendor/quickjs
- -Ivendor/cjson
- -Isrc
# QuickJS specific defines
- -DCONFIG_VERSION=\"2025-04-26\"
- -DCONFIG_BIGNUM
---
# Different settings for QuickJS source files (uses gnu11)
If:
PathMatch: vendor/quickjs/.*
CompileFlags:
Add:
- -std=gnu11
- -DCONFIG_VERSION=\"2025-04-26\"
- -DCONFIG_BIGNUM
- -D_GNU_SOURCE
- -Ivendor/quickjs
Remove:
- -std=c11
---
# BearSSL source files
If:
PathMatch: vendor/bearssl/.*
CompileFlags:
Add:
- -Ivendor/bearssl/inc
- -Ivendor/bearssl/src
---
# cJSON source files
If:
PathMatch: vendor/cjson/.*
CompileFlags:
Add:
- -Ivendor/cjson
Index:
# Enable background indexing
Background: Build
Diagnostics:
# Show all diagnostics
UnusedIncludes: Strict
MissingIncludes: Strict
Completion:
# Include all completion results
AllScopes: true
Hover:
# Show more info in hover
ShowAKA: true

View File

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,33 @@
# clavitor-cli — Pure C CLI for credential access
## Build
```bash
make # build for host (output: clavitor-cli)
make strip # strip binary (<1MB target)
make clean # remove build artifacts
make size # show binary size
```
## Test
```bash
./clavitor-cli test-crypto # BearSSL + JS crypto self-tests
./clavitor-cli test-totp <base32-seed> # TOTP generation test
./clavitor-cli test-roundtrip # runs crypto/test_crypto.js
```
## Code Style
- **Standard**: C11 (`-std=c11`), QuickJS sources use `-std=gnu11`
- **Indent**: 4 spaces
- **Comments**: `/* */` style only
- **Naming**: `snake_case` functions, `struct clv_*` types, `CLV_*_H` include guards
- **Headers**: Include guards required, co-located with .c files in `src/`
- **Error handling**: Return 0 for success, non-zero for failure
- **Static**: Mark internal functions as `static`
- **No system deps**: All dependencies vendored in `vendor/`
## Architecture
- `src/main.c` — CLI entry, command parsing (get, list, totp, test-*)
- `src/http.c` — HTTPS client via BearSSL
- `src/keystore.c` — AES-GCM encrypted config at `~/.config/clavitor/config`
- `src/jsbridge.c` — QuickJS bridge for shared crypto logic
- `src/util.c` — Base64, URL encoding

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More