Skip to content

Commit

Permalink
v8
Browse files Browse the repository at this point in the history
  • Loading branch information
inimino committed Jun 18, 2024
1 parent 42bda0e commit c31c813
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 16 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ The references will then be expanded by cmpr before sending the NL code to the L

Developed on Linux; works on Mac or Windows with WSL2.

It's early days and there <s>may be</s><ins>are</ins> bugs!
It's early days and there <s>may be</s> <ins>are</ins> bugs!

There's support for a "bootstrap" script with the ":bootstrap" ex command.
You make a script that produces your bootstrap block on stdout, you put it in the conf file as "bootstrap: ./your-script.sh", and you use :bootstrap to run it.
Expand Down
22 changes: 9 additions & 13 deletions TODO
Original file line number Diff line number Diff line change
Expand Up @@ -141,27 +141,23 @@
✓ fix the first-line thing on @id:code
✓ replace spans arena with generic implementation
✓ make "#" jump to block by id (as a menu)
✓ dataloss pass: think through everything; addresses control issue
✓ visibility into what's happening with process control; be chatty around tmp files
✓ user visibility into what's in the files and when it got there
✓ "diffs and dates"
✓ update ? short help
✓ merge 2 PRs
✓ bugfix :inrefs, :toprefs crashes
✓ chmod issue on Windows (exec bit)




WHAT WE ARE CURRENTLY DOING:
→ bump version and push v8


→ dataloss pass: think through everything; addresses control issue
→ visibility into what's happening with process control; be chatty around tmp files
= user visibility into what's in the files and when it got there
= "diffs and dates"
Q: if GPT writes the code, how can we trust it?
A? -- we have invariants that are upheld mainly by large-scale structure
Another more specific answer is as follows: we structure the problem in such a way that there is either a solution or there is no side effect.
This is the principle of least privilege and it means you can delegate authority, for example, to a postscript program and trust that it will not access the network.

✓ update ? short help
✓ merge 2 PRs
✓ bugfix :inrefs, :toprefs crashes
✓ chmod issue on Windows (exec bit)
✓ bump version and push v8

dedup transitive block references
Arena overflow for spans
Expand Down
2 changes: 1 addition & 1 deletion bootstrap-py.sh
Original file line number Diff line number Diff line change
Expand Up @@ -59,5 +59,5 @@ I will provide you with descriptions of code. Use existing functions, library co
Don't redefine functions that already exist, just use them.
Reply with only with OK.
Reply only with OK.
EOF
39 changes: 38 additions & 1 deletion release-notes.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#v8
# v8

### Block references

Expand All @@ -23,3 +23,40 @@ Markdown is now supported; each heading creates a block.
(If you have two headings, like "# big heading\n## sub-heading" then you'll get two blocks.)
The markdown blocks don't have any "code part", they are all NL and no PL, so most of the LLM features like "r" won't make sense to use with them.
It's just a quick way to move through markdown files and keep your code organized.

### Windows and build fixes

Thanks to @dannovikov for the Windows improvements.

### Ollama support

Run the ollama server locally and load the models, and add the models you want to use to the conf file (e.g. "ollamas: llama3,llama3:70b").
The models will then appear in ":models".

### Llama.cpp support

Just run llama.cpp with the model you want to use, and use ":models" to pick llama.cpp.

### Curl binary instead of curllib

We no longer link against libcurl, but just call out to the curl binary.
You can set the curlbin in the conf file if you don't want the default (which is just "curl" in your PATH).

### bootstrap-py.sh

Thanks to @petterik for the Python bootstrap script.
To use it, copy bootstrap-py.sh into your project, put "bootstrap: ./bootstrap-py.sh" in your .cmpr/conf and modify it to suit your needs.
The script assumes you have a top-level comment in block 1 that is relevant for the LLM and that you have ctags installed.

# v7

### API support

Support for LLM rewriting directly via API is now supported in addition to the clipboard style interaction.
Use ":models" to switch between the modes, and put your OpenAI API key in .cmpr/openai-key.

# v6 ... v1

### bootstrap, --init, and conf file handling

Many minor improvements and fixes.

0 comments on commit c31c813

Please sign in to comment.