statelyai / xstate

Actor-based state management & orchestration for complex app logic.
https://stately.ai/docs
MIT License
26.51k stars 1.22k forks source link

[EARLY DRAFT] Create an xstate v5 gpt #4917

Open technoplato opened 1 month ago

technoplato commented 1 month ago

https://chatgpt.com/gpts/editor/g-NrB3SjyV8

https://chatgpt.com/g/g-NrB3SjyV8-xstate-assistant

Draft Pull Request: Custom GPT for XState v5

Overview

This draft PR introduces the initial implementation of a custom GPT designed to assist users with XState v5. The primary goal of this draft is to explore creating a custom GPT for helping users use XState and create state charts, state machines, and actor systems, etc.

Changes Introduced

  1. Benchmark Documentation

    • Created funkycountbenchmark.md to describe the desired functionality and benchmarks.
  2. Tests for GPT Output

    • Added issues.test.ts containing the output of the GPT for validation purposes.
    • Created prompt.test.ts, which includes the prompt as a TypeScript comment followed by example code and associated tests.
  3. Documentation and Cheat Sheets

    • Added todo.md for tracking tasks and future improvements.
    • Introduced kitchen_sink.actors and kitchen_sink.guards, which serve as detailed cheat sheets attempting to consolidate functionality into a single machine. While these are not yet optimized, they represent an effort to provide comprehensive reference material.

Current Limitations

Potential Workarounds

A potential workaround for the character limit involves storing prompts locally within the project and allowing the custom GPT to access these prompts via ngrok using custom actions. This method would enable the GPT to dynamically decide which files to pull in for a given task, potentially including longer prompts for XState.

Future Plans

Additional Links


This is an initial draft aimed at kickstarting the integration of a custom GPT for XState v5. Feedback and suggestions are welcome as we continue to refine and improve this functionality.

To test this, you can copy the prompt into the custom GPT creation tool and run it yourself. Currently, access to editors is not open, but this approach should help in verifying the changes.

changeset-bot[bot] commented 1 month ago

⚠️ No Changeset found

Latest commit: f4039266937bf9eb1ab351b91f1b24ad40b6fb8a

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR