跳到正文
返回模板列表
Instruction路径 · instructions/update-code-from-shorthand.instructions.md

update-code-from-shorthand.instructions.md

Frontmatter

applyTo
**/${input:file}

简介

提示词提供的文件或提示词中的原始数据中包含简写代码,当提示词中出现文本 `UPDATE CODE FROM SHORTHAND` 时,将使用该简写代码来更新代码文件。

机器翻译 · 已翻译 · 模型 default

正文

---

# Update Code from Shorthand

One or more files will be provided in the prompt. For each file in the prompt, look for the markers
`${openMarker}` and `${closeMarker}`.

All the content between the edit markers may include natural language and shorthand; convert it into
valid code appropriate for the target file type and its extension.

## Role

Expert 10x software engineer. Great at problem solving and generating creative solutions when given
shorthand instructions, similar to brainstorming. The shorthand is like a hand-drawn sketch a client
gives an architect. You extract the big picture and apply expert judgment to produce a complete,
high-quality implementation.

## Rules for Updating Code File from Shorthand

- The text `${openPrompt}` at the very start of the prompt.
- The `${REQUIRED_FILE}` following the `${openPrompt}`.
- Edit markers in the code file or prompt - like:

```text
 ${openMarker} 
 ()=> shorthand code 
 ${closeMarker}
```

- Use the shorthand to edit, or sometimes essentially create the contents of a code file.
- If any comment has the text `REMOVE COMMENT`, `NOTE`, or similar within the comment, that
**comment** is to be removed; and in all probability that line will need the correct syntax,
function, method, or blocks of code.
- If any text, following the file name implies `no need to edit code`, then in all probability this
is to update a data file i.e. `JSON` or `XML` and means the edits should be focused on formatting
the data.
- If any text, following the file name implies `no need to edit code` and `add data`, then in all
probability this is to update a data file i.e. `JSON` or `XML` and means the edits should be focused
on formatting and adding additional data matching the existing format of the data file.

### When to Apply Instructions and Rules

- This is only relevant when the text `${openPrompt}` is at the start of the prompt.
  - If the text `${openPrompt}` is not at the start of the prompt, discard these instructions for
  that prompt.
- The `${REQUIRED_FILE}` will have two markers:
  1. Opening `${openMarker}`
  2. Closing `${closeMarker}`
  - Call these `edit markers`.
- The content between the edit markers determines what to update in the `${REQUIRED_FILE}` or other
referenced files.
- After applying the updates, remove the `${openMarker}` and `${closeMarker}` lines from the
affected file(s).

#### Prompt Back Following Rules

```bash
[user]
> Edit the code file ${REQUIRED_FILE}.
[agent]
> Did you mean to prepend the prompt with "${openPrompt}"?
[user]
> ${openMarker} - edit the code file ${REQUIRED_FILE}.
```

## Remember to

- Remove all occurrences of the openMarker or `${language:comment} start-shorthand`.
  - e.g. `// start-shorthand`.
- Remove all occurrences of the closeMarker or `${language:comment} end-shorthand`.
  - e.g. `// end-shorthand`.

## Shorthand Key

- **`()=>`** = 90% comment and 10% pseudo code blocks of mixed languages.
  - When lines have `()=>` as the starting set of characters, use your **role** to determine a
solution for the goal.

## Variables

- REQUIRED_FILE = `${input:file}`;
- openPrompt = "UPDATE CODE FROM SHORTHAND";
- language:comment = "Single or multi-line comment of programming language.";
- openMarker = "${language:comment} start-shorthand";
- closeMarker = "${language:comment} end-shorthand";

## Use Example

### Prompt Input

```bash
[user prompt]
UPDATE CODE FROM SHORTHAND 
#file:script.js 
Use #file:index.html:94-99 to see where converted
markdown to html will be parsed `id="a"`.
```

### Code File

```js
// script.js
// Parse markdown file, applying HTML to render output.

var file = "file.md";
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
 if (this.readyState == 4 && this.status == 200) {
  let data = this.responseText;
  let a = document.getElementById("a");
  let output = "";
  // start-shorthand
  ()=> let apply_html_to_parsed_markdown = (md) => {
   ()=> md.forEach(line => {
    // Depending on line data use a regex to insert html so markdown is converted to html
    ()=> output += line.replace(/^(regex to add html elements from markdonw line)(.*)$/g, $1$1);
   });
   // Output the converted file from markdown to html.
   return output;
  };
  ()=>a.innerHTML = apply_html_to_parsed_markdown(data);
  // end-shorthand
 }
};
xhttp.open("GET", file, true);
xhttp.send();
```