chore: auto-commit uncommitted changes
This commit is contained in:
parent
fc9f49bf18
commit
35c9e106b5
|
|
@ -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
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -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.
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
Loading…
Reference in New Issue