-
Notifications
You must be signed in to change notification settings - Fork 7
hyperapp skeleton docs #393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@nick1udwig please check that this PR satisfies the spirit of 387 |
nick1udwig
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
moving in the right direction 👍
were you following the two-step method described in the readme? Can you explicitly put your prompt/convos for one of the apps here or in the chat? I'm curious because in the past we discussed making vs not the IMPLEMENTATION_PLAN, and if we're past the point that that is a useful thing to do, it may be the case that we should get rid of that part of the README
i think we can potentially do more in terms of "summarizing". E.g., we could potentially describe each example-app in a sentence and then have another sentence to the effect of what patterns/usage is shown in that app
| ``` | ||
|
|
||
| #### Remote Requests | ||
| All remote requests must use `.expects_response(30)` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably worth noting here that the uint there is the timeout in seconds
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
|
||
| If sending messages between nodes, set: | ||
| ```json | ||
| "request_networking"=true, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably want real json:
"request_networking": trueThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
| Carefully read the prompt; look carefully at `instructions.md` (if it exists) and in the resources/ directory. | ||
| In particular, note the example applications `resources/example-apps/sign/`, `resources/example-apps/id/`, and `resources/example-apps/file-explorer`. Note that `file-explorer` example contains an `api`, which is generated by the compiler, and not human or LLM written. | ||
| Carefully read the prompt; look carefully at `instructions.md` (if it exists) and in the example-apps directory. | ||
| In particular, note the example applications `example-apps/sign/`, `example-apps/id/`, and `example-apps/file-explorer`. Note that `file-explorer` example contains an `api` folder, which is generated by the compiler, and not human or LLM written. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
put sentences on a newline
llms/markdown renders it the same, but it makes it easier to maintain because the diffs are more readable
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ahhhh, i remember from a while back. Wrecked by newlines...
Fixed.
|
I followed the two-step method, but i just asked it to do within one prompt, so like "make a spec and then implement". You are right, I will get rid of that part of the README. Here is a prompt (i didnt even describe the app in that much detail): Use Todo List with P2P Sync Write a spec, and then implement it step by step. Use the README.md given in hyperapp-skeleton to find instructions on specific details. At the end, i should be able to
We have something in that direction already. kit/src/new/templates/rust/ui/hyperapp-skeleton/README.md Lines 221 to 222 in 1b184bc
So we can list the patterns we want to showcase, and find an example app for each, to add into example-apps.
Wdyt? Any apps come to mind? Any other important patterns? |
|
772b836 removes the old prompt, and adds a shorter one. |
|
Requests in conversations resolved in details.
Done in naming restrictions |
|
resources folder still seems to be there otherwise lgtm ⚡ |
a5d44f2 to
96e768c
Compare
@nick1udwig I think u missed this part. What do you think about adding spider to example-apps, and possibly sth else as well which can demonstrate remote messaging? |
nick1udwig
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm ⚡
resourcesfolder, so the extensive outdated docs are gone, now we just haveexample-appsA bit about how i got here. I tried to oneshot 6 different sample apps, and i logged the errors which they made. Consistently it was:
Other "happened once" errors are:
Most of these were solved by the docs. Except compile time errors around borrowing, those can be copy pasted and solved easily, and future llms probably wont make those.
Note - the 6 apps were: p2p todo, p2p chat, p2p file share, distributed kv db, collaborative notepad, voice chat room
(It failed voice chat room irrespectively of the docs, and other ones were mostly successful).
Imo what the docs should be optimized for is warning about small gotchas, and containing simple patterns. My current iteration of docs is optimized for codex, so they might not be as good for claude. But priority is to avoid bloating and extra debt over time.