Skip to content

Add C++ Engine Architecture documentation with command protocol and AI flow - #1

Merged
EDWARD-012 merged 2 commits into
EDWARD-012:mainfrom
om-bhadauria:main
May 5, 2026
Merged

EDWARD-012 merged 2 commits into
EDWARD-012:mainfrom
om-bhadauria:main

Conversation

@om-bhadauria

Copy link
Copy Markdown

📌 Description

This PR adds a comprehensive documentation of the C++ chess engine architecture used in Checkora.

✅ What’s included

  • Django ↔ C++ communication using subprocess (stdin/stdout)

  • Command protocol explanation:

    • MOVES
    • BESTMOVE
    • STATUS
    • PROMOTE
  • Internal flow of command processing in the C++ engine

  • Explanation of AI logic (Minimax + Alpha-Beta pruning)

  • End-to-end request flow from frontend to engine and back

🎯 Why this is useful

This documentation helps new contributors understand:

  • How the backend interacts with the C++ engine
  • How commands are structured and processed
  • How AI decisions are computed

It reduces onboarding time and makes the system easier to extend and debug.

Example Command

BESTMOVE rnbqkbnrpppppppp........PPPPPPPPRNBQKBNR KQkq white 4

Added detailed documentation explaining the C++ chess engine architecture, 
including Django-C++ communication, command protocol (MOVES, BESTMOVE, STATUS, PROMOTE), 
and AI logic using minimax with alpha-beta pruning.
Updated README to include a documentation section with a link to the C++ engine architecture guide for easier access by contributors.
@om-bhadauria

Copy link
Copy Markdown
Author

Hi @EDWARD-012,

I’ve added the C++ engine architecture documentation along with a README link for easier access.

I also included command examples and detailed flow explanations to make it more helpful for new contributors.

Please let me know if any changes or simplifications are needed. Happy to update!

Thanks!

@EDWARD-012
EDWARD-012 merged commit a0093d5 into EDWARD-012:main May 5, 2026
5 checks passed
@EDWARD-012

Copy link
Copy Markdown
Owner

merging this for now but please don't open pr without getting assigned

@om-bhadauria

Copy link
Copy Markdown
Author

Thank you for merging!

Apologies for not getting assigned before opening the PR. I’ll make sure to follow the proper process and get assigned before working on issues next time.

Thanks again for the guidance!

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.

2 participants