Skip to content

feat: official Python Client SDK, integrated UDP demo, and full documentation - #1

Merged
micro-artwork merged 26 commits into
mainfrom
develop
Aug 7, 2026
Merged

feat: official Python Client SDK, integrated UDP demo, and full documentation#1
micro-artwork merged 26 commits into
mainfrom
develop

Conversation

@micro-artwork

Copy link
Copy Markdown
Owner

Summary

This PR merges all work from the develop branch into main.


Changes

feat: Official Python Client SDK Generator (--lang python)

  • Add single-file Python SDK generator outputting WindRpcClient.py
  • 6-byte raw binary header packing/unpacking via Python struct
  • Embedded COBS encoder/decoder and asyncio async RPC dispatch (send_request_async)
  • Transport-agnostic: supports receive_raw_datagram (UDP/BLE) and receive_bytes (UART/COBS)
  • Add tests/test_python_client.py unit tests and Step 7 in run_tests.py
  • All 7 integrated test steps pass cleanly

example: Integrated UDP Demo (examples/udp_demo/)

  • device_spec.yml — RPC Descriptor defining power_manager & device_control services
  • generate.py — one-stop code generation script for C, JS, and Python
  • run_demo.py — single-command automated end-to-end verification
  • C UDP server (c_server/) with user callbacks and CMake build
  • Node.js client (js_client/app.mjs) and Python client (py_client/app.py)

docs: LLM Agent Guidelines, Korean README, and Full Manuals

  • Add AGENTS.md with LLM agent integration guidelines and CLI cheat sheet
  • Add README.KR.md (Korean README) with full feature overview and Python snippets
  • Update README.md with Python SDK CLI, clarified proto generation pipeline
  • Add docs/windrpc_manual.md and docs/windrpc_manual.KR.md:
    • Section 5.3 Python Client SDK integration guide
    • CLI reference updated to include --lang python
    • Note that server/client commands include .proto generation automatically
    • Fix half-duplex/full-duplex terminology in Korean manual

chore: gitignore and cleanup

  • Ignore build/ and generated/ output directories in .gitignore

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

🤖 Gemini Code Review

Model: gemini-2.5-flash  |  Trigger: automated on PR  |  [Re-run: comment /gemini review]


🤖 Gemini Code Review

Model: gemini-2.5-flash  |  Trigger: automated on PR  |  [Re-run: comment /gemini review]


1. Summary

This Pull Request introduces comprehensive documentation updates, including a new AGENTS.md guideline for AI agents, updated README.md files (English and Korean), and a detailed windrpc_manual.md (English and Korean). It also adds GitHub Actions workflows for automated Gemini-powered code reviews and an auto-close mechanism for external Pull Requests, reflecting the project's current contribution policy.

2. Issues

No critical issues or rule violations were found in the provided diff. The changes primarily focus on documentation and CI/CD, which correctly reinforce the WindRPC project's core rules.

3. Suggestions

  • [LOW] Documentation Consistency for Reserved RPC IDs:
    • AGENTS.md explicitly mentions RPC ID 0x0000 (System Error) and 0x0601 (Core Ping/Version Handshake) as reserved.
    • docs/windrpc_manual.md and README.md only mention Service IDs 1-6 as reserved.
    • Suggestion: For full clarity and consistency across all documentation, consider adding explicit mentions of RPC ID 0x0000 and 0x0601 as reserved combined RPC IDs in docs/windrpc_manual.md and README.md under the "16-bit Combined RPC ID Rules" section. This ensures all critical reserved IDs are highlighted in all key documents.

4. Verdict

✅ LGTM


Generated by gemini_review.py. Base: e4494ae → Head: eb3646d

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

🤖 Gemini Code Review

Model: gemini-2.5-flash  |  Trigger: automated on PR  |  [Re-run: comment /gemini review]


1. Summary

This pull request introduces comprehensive documentation for the WindRPC project, including detailed guidelines for LLM agents, updated READMEs (English and Korean), and a full reference manual. It also sets up GitHub Actions workflows for automated code reviews using Gemini and for automatically closing unsolicited pull requests from external contributors. The .gitignore file is updated to reflect common build and generated artifacts.

2. Issues

No issues found. The changes primarily involve documentation and CI/CD setup, which consistently reinforce the project's core rules.

3. Suggestions

  • [LOW] Documentation Consistency for Proto3 Syntax: While AGENTS.md and the SYSTEM_PROMPT for the Gemini reviewer explicitly state "Always use proto3 syntax (not editions)", this rule could also be explicitly mentioned in the main README.md and docs/windrpc_manual.md for complete consistency across all user-facing documentation.

4. Verdict

✅ LGTM


Generated by gemini_review.py. Base: e4494ae → Head: c58cea8

@micro-artwork
micro-artwork merged commit 3f08341 into main Aug 7, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant