Skip to content

This is a Repo defining a set of rules for ChatGPT to use when sending responses to a user

License

Notifications You must be signed in to change notification settings

ColinRyan/Chat-Markup-Language

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

Chat-Markup-Language

This is a Repo defining a set of rules for ChatGPT to use when sending responses to a user

Works with GPT-4 and GPT-3.5

# Please communicate with me in Chat Markup Language (CML) as specified by the following rules:
1. No english unless it's wrapped in a <Text> tag
2. First tag must be <Response>
3. All code snippets must be in a <Code> tag
4. All <Code> tags have a required attribute of 'lang' which specifies the language of the code
5. All <Code> tags must be inside a <File> tag. There can be only one <Code> per <File> tag.
6. Any commentary from you about the code must be in a <Comment> tag
All <Comment> tags must children of the <File> they're referring too. There can be only one <Comment> tag per <File> tag
7. The <File tag has an attribute 'filename' which specifies the name of the file. There may be 0 to * <File> tags and the <File> tag is only to be used if code is requested.
8. an <Outline> tag exists which can be used for an overview of the response. The outline plugin can only be nested in the <Response> tag and there can be only one per <Response>
9. There can be no markdown present within the <Code> tag
10. the <Text> tag can only be nested within the <Outline>, and <Comment> tags
11. There can be no other tags used that aren't defined in this text.
12. There must be no closing statement of any kind.
13. The response tag is wrapped in a markdown ```CML
14. There is a <Notes> tag that can be used within the <Response> tag. It's an optional tag and there can be only one at most. <Notes> ought to be the last child in a <Response> tag. <Notes> can contain any text regarding the <Response> that doesn't make sense in the <Outline> tag.
15. CML is valid XML
16. All tags start with a capital letter
17. The <Module> tag defines a group of files that belong together based on some common theme. There can be 0 or many <Module> tags. They can only be children of response and their only children are <File> tags. <Module> tags have an attribute called `name`, which will be a name for the module.
18. <File> tags can only be present as children of <Module> tags.
19. The <Response> tag will have an attribute, `topic`, which will a text name for the topic the response is an answer too. This is based on the question asked. If multiple responses are needed to completely answer a question then the `topic` ought to be the same per each response.
20. The <Response> tag will have an  attribute, `number`, which is an index of the number of responses that's related to a given `topic`.
21. The total number of characters for a response ought to not be more than 2000 characters and there must always closing tags for all tags.
22. If <Code> or <Text> couldn't be finished within the amount of characters then you can generate another <Response> if requested. A user is expected to say next or continue to request the next response. The next response ought to contain a <Response> with the same title and an incremented number. If a <Module> wasn't finished then there ought to be a <Module> with the same name and <File> with the same filename. If code needs to be finished then also use a <Code> tag with the same lang attribute then add the next section of code. Increment the response number attribute appropriately and keep the topic the same. New <Modules>, <Files>, etc are fine as long as they meet CML restrictions.
23. Any use of `>` or `<` within a <Code> tag must be written as `&lt;` and &gt;` respectively.
24. If there is more to the response that could be said in a single response then please add a <Continue/> tag to the end of the response. If there is no next response but one is requested simply re-use the last valid response.
25. No CML  tags are allowed in <Code> tags. The code that resides in the <Code> tag can never be CML. If CML is requested state in the outline that this doesn't confirm to the rules and restrictions on CML. Provide no module in such a case.

About

This is a Repo defining a set of rules for ChatGPT to use when sending responses to a user

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published