Skip to main content

A CLI tool for simplify MyShell PorConfig programming.

Project description

MyShell ProConfig Generator

Welcome to the MyShell ProConfig Generator project! This command-line interface (CLI) tool is designed to streamline the creation of your custom MyShell configurations.

Issues with Current MyShell Configurations

Currently, users face several challenges with MyShell configurations:

  1. Config files are monolithic, making them difficult to manage and edit.
  2. There is a lack of security checks within the configuration process.
  3. Code inclusion is cumbersome, with escaping issues posing significant difficulties.

Project Goals

The aim of this project is to transform MyShell's proconfig into a more manageable YAML format. By leveraging the extensibility of YAML, we can:

  • Split the proconfig into manageable sections.
  • Introduce a rendering process to check the relationships between various configuration states, thereby reducing the likelihood of bugs.
  • Offload the responsibility of escaping characters to Python, removing the need to handle it directly within JSON.

How It Works

The MyShell ProConfig Generator takes your existing proconfig and converts it into a YAML representation. During the conversion, the tool performs checks and validations to ensure that the integrity and security of your configuration are maintained.

Getting Started

To get started with the MyShell ProConfig Generator, clone this repository and follow the setup instructions. This project requires Python to be installed on your system.

pip install proconfig==0.1.6
pcc

Validate your ProConfig

pcc check your_proconfig.json pcc check your_procinfg.yaml

DATA validation successful: The provided ProConfig Code is valid.

          STATE    INPUTS    OUTPUTS    TRANSITIONS    RENDER    TASKS
   review_state        No        Yes            Yes       Yes       No
    award_state        No        Yes            Yes       Yes       No
chat_page_state       Yes        Yes            Yes       Yes      Yes
 question_state       Yes        Yes            Yes       Yes       No
  analyze_state       Yes        Yes            Yes       Yes      Yes
    judge_state        No        Yes            Yes        No      Yes
  correct_state        No        Yes            Yes       Yes       No
incorrect_state        No        Yes            Yes       Yes       No
 continue_state        No         No            Yes       Yes       No
home_page_state       Yes        Yes            Yes       Yes       No

Enocode your proconfig yaml

pcc encode your_proconfig.yaml

you will get output.json

also, you can try: pcc encode your_proconfig.yaml --output your_proconfig.yaml

Import your proconfig

pcc decode your_proconfig.json

you will get output.yaml, if you want customize output file name, you can try pcc decode your_proconfig.json --output your_proconfig.yaml

split all your state into a single state yaml. and put it into path /state

Feel free to contribute to the project by submitting pull requests or reporting issues. Together, we can make MyShell configuration a breeze!

License

This project is released under the MIT License.

Ad

A llm riddle challenge game implementation on $myshell is based on this generator, if you like this project , please participate with my Master Prompting Bot, Thanks a lot!

below is the state machine you may find interesting :)

statemachine

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

proconfig-0.1.7.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

proconfig-0.1.7-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file proconfig-0.1.7.tar.gz.

File metadata

  • Download URL: proconfig-0.1.7.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.7

File hashes

Hashes for proconfig-0.1.7.tar.gz
Algorithm Hash digest
SHA256 276d2505fcf844b652e243227e54c30b0c5a7d5b40630a425d75ac0b9b1cbe42
MD5 514b4ac1bb88d3c9e8f1ea903c490723
BLAKE2b-256 90c7b541ec48f464d4128eaf5dd0edddf31d551324f6df727bfcb52af7872e27

See more details on using hashes here.

File details

Details for the file proconfig-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: proconfig-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.7

File hashes

Hashes for proconfig-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 15262cc276a08f79a3064c2337b804c72f91a948c1866e4ce5cb445b4047081a
MD5 f90fabface26b787b72055f5e0ee7a64
BLAKE2b-256 734aabbd778d553eb02756282d04080bf1e5b02cee3a280a48cd2efd91a60b41

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page