chore: rename quicproquo → quicprochat in docs, Docker, CI, and packaging

Rename all project references from quicproquo/qpq to quicprochat/qpc
across documentation, Docker configuration, CI workflows, packaging
scripts, operational configs, and build tooling.

- Docker: crate paths, binary names, user/group, data dirs, env vars
- CI: workflow crate references, binary names, artifact names
- Docs: all markdown files under docs/, SDK READMEs, book.toml
- Packaging: OpenWrt Makefile, init script, UCI config (file renames)
- Scripts: justfile, dev-shell, screenshot, cross-compile, ai_team
- Operations: Prometheus config, alert rules, Grafana dashboard
- Config: .env.example (QPQ_* → QPC_*), CODEOWNERS paths
- Top-level: README, CONTRIBUTING, ROADMAP, CLAUDE.md
This commit is contained in:
2026-03-07 18:46:43 +01:00
parent a710037dde
commit 2e081ead8e
179 changed files with 1645 additions and 1645 deletions

View File

@@ -1,39 +1,39 @@
# QuicProQuo Ruby SDK
# QuicProChat Ruby SDK
Ruby FFI gem wrapping `libquicproquo_ffi` for the quicproquo E2E encrypted messenger.
Ruby FFI gem wrapping `libquicprochat_ffi` for the quicprochat E2E encrypted messenger.
## Prerequisites
- Ruby 3.1+
- `libquicproquo_ffi` built for the target platform
- `libquicprochat_ffi` built for the target platform
## Installation
```sh
gem install quicproquo
gem install quicprochat
```
Or add to your Gemfile:
```ruby
gem "quicproquo"
gem "quicprochat"
```
## Building the Native Library
```sh
cargo build --release -p quicproquo-ffi
cargo build --release -p quicprochat-ffi
```
Set `QPQ_LIB_PATH` if the library is not in the default search path.
Set `QPC_LIB_PATH` if the library is not in the default search path.
## Usage
```ruby
require "quicproquo"
require "quicprochat"
# Block form (auto-disconnect)
QuicProQuo::Client.open("127.0.0.1:5001", ca_cert: "ca.pem") do |client|
QuicProChat::Client.open("127.0.0.1:5001", ca_cert: "ca.pem") do |client|
client.login("alice", "secret")
client.send("bob", "hello from Ruby!")
@@ -42,7 +42,7 @@ QuicProQuo::Client.open("127.0.0.1:5001", ca_cert: "ca.pem") do |client|
end
# Manual lifecycle
client = QuicProQuo::Client.new("127.0.0.1:5001", ca_cert: "ca.pem")
client = QuicProChat::Client.new("127.0.0.1:5001", ca_cert: "ca.pem")
client.login("alice", "secret")
client.send("bob", "hello")
client.disconnect
@@ -65,18 +65,18 @@ client.disconnect
```ruby
begin
client.login("alice", "wrong")
rescue QuicProQuo::AuthError => e
rescue QuicProChat::AuthError => e
puts "Auth failed: #{e.message}"
rescue QuicProQuo::TimeoutError => e
rescue QuicProChat::TimeoutError => e
puts "Timeout: #{e.message}"
rescue QuicProQuo::Error => e
rescue QuicProChat::Error => e
puts "Error: #{e.message}"
end
```
## Structure
- `lib/quicproquo/client.rb` -- High-level client
- `lib/quicproquo/ffi_bindings.rb` -- FFI function declarations
- `lib/quicproquo/errors.rb` -- Exception classes
- `lib/quicprochat/client.rb` -- High-level client
- `lib/quicprochat/ffi_bindings.rb` -- FFI function declarations
- `lib/quicprochat/errors.rb` -- Exception classes
- `examples/demo.rb` -- Usage example