Simplify documentation and add repository development skill
This commit is contained in:
1 parent
3d8cf46a63
commit
5aaa31dc1a
10 files changed
+473
-239
No files matched your search
@@ -0,0 +1,43 @@
|
||||
---
|
||||
name: whatsapp-suite-development
|
||||
description: Maintain and extend this repository's WhatsApp Desktop Python suite, WebView bridge, message exports and webhook listener. Use for implementation, debugging, packaging or documentation in this project.
|
||||
---
|
||||
|
||||
# WhatsApp suite development
|
||||
|
||||
Use the repository containing this file. It has two distributions of the same code: editable `whatsapp_suite/` and generated portable `whatsapp.py`. The core path is Python ctypes → temporary Windows hook → bundled native DLL → existing WhatsApp WebView JavaScript. Core commands require no CDP or UI automation; separate research commands may use other transports.
|
||||
|
||||
## Route the work
|
||||
|
||||
- Read [CONTRIBUTING.md](../../CONTRIBUTING.md) for extension points, tests and native builds.
|
||||
- Read [architecture](../../docs/ARCHITECTURE.md) when changing bridge discovery, transport or lifetimes.
|
||||
- Read [webhooks](../../docs/WEBHOOKS.md) when changing event schema, delivery, restoration or removal.
|
||||
- Consult [validation](../../docs/VALIDATION.md) before claiming a build or live behavior is supported.
|
||||
|
||||
Prefer the existing module/helper for the requested change. Python commands are registered in `cli.COMMANDS`; top-level modules are packaged automatically. New assets need explicit builder entries. Do not edit encoded bundle contents.
|
||||
|
||||
## Preserve the contracts
|
||||
|
||||
- Native addresses are fingerprint-discovered, but object fields and ABI assumptions remain. Build metadata is advisory; unsupported native layouts fail discovery.
|
||||
- Exports use the app's database getter and decoder, preserve decode errors and refuse existing outputs. They are local scans, not atomic full-account snapshots.
|
||||
- The send CLI is a fixed self-message test with recipient checks and a reserved receipt. An uncertain send is not automatically retried.
|
||||
- Webhook events remain queued until HTTP 2xx; consumers deduplicate IDs. Queue memory is lost on app exit.
|
||||
- Restoration means automatic reinjection by a per-user task, not persistent app memory. Do not patch WhatsApp's package or silently install startup automation.
|
||||
- The task recovers a DPAPI-protected token; transport credentials stay out of listener JavaScript, CLI arguments, reports and Git.
|
||||
- Short-lived bridge cleanup and resident webhook lifetime differ. A stopped webhook helper remains loaded until app exit; restart the app before testing a replacement DLL.
|
||||
|
||||
## Complete the change
|
||||
|
||||
For code/assets/tests, run source tests, rebuild, then run portable tests:
|
||||
|
||||
```powershell
|
||||
python -m whatsapp_suite test
|
||||
python build_whatsapp_bundle.py
|
||||
python whatsapp.py test
|
||||
```
|
||||
|
||||
Inspect skips; Node.js enables the JavaScript fixtures. Verify a new command's portable help. Native changes additionally need x64 compilation, updated Python/asset hashes and relevant authorized live validation. Document what was actually tested.
|
||||
|
||||
Documentation-only edits need accurate CLI examples and valid links, not a bundle rebuild. Keep tests synthetic and live side effects explicit. Existing user authorization controls the scope; this skill does not authorize sending messages, installing tasks, publishing, or changing remote services.
|
||||
|
||||
Review staged files before publication. Keep exports, real fixtures, profiles, credentials and research captures out of Git. Commit source and generated bundle together when their inputs change.
|
||||
Reference in new issue
Block a user