-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[WIP] Add-extension skill #1227
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
base: main
Are you sure you want to change the base?
Conversation
|
Added some changes
|
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.
Awesome job Rinat! This is looking good, it's going to be awesome to have this working in prod 🔥
Did a first pass from my Windows machine, executing the /add-extension with Claude, installing Ponder and then Drizzle-neon, will try it from WSL too but writing down the "walls" I faced, which were quickly spoted&fixed by cursor+opus.
During the installation I saw some errors, pasting Ponder and then Drizzle-neon installations:
Then trying to use the SE-2 instance with the extensions installed:
- Missed to add
drizzle-kitcommands to nextjs package.json - Missed to add the drizzle-neon related dependencies to nextjs
package.json - Workspace '@se-2/ponder' not found. Cursor added it
After those fixes, the database and ponder worked nicely. Will update when I test with WSL 🙌


Still work in progress, but you can already test it and make a general overview
/add-extensionskill adds extensions to existing SE-2 projects.Allows adding multiple extensions one by one. For now works only with
create-eth-extensionsextensions and only with Claude codeExample:
Or just open claude and run
/add-extensionwith or without params. It suggests you what to do if needed(I tested mostly with erc-20, erc-721, ponder)
How it works, skill + Claude together (generated by Claude)
The skill script:
Then Claude takes over:
There are multiple things in the script that do the same as create-eth does: fetch extension data, detect framework etc. Since we can't use create-eth here I think it's ok. There's multiple things that I can mention there, but I think it's easier to just read the code. Start from
skill.mjsand then we can discuss. Or just ask any questions here!Some notes anyway:
When adding extension, script adds new field to current app
package.json, so it could understand which extensions already installed when adding new extensions.The most interesting part is how it allows the use multiple extensions:
Solidity framework is chosen by current project structure. So if there's hardhat in the current project and there's both frameworks in extension, hardhat will be taken automatically. There's not so clear for now what to do if the user wants to take opposite framework in the extension.
There's some small bugs/AI hallucinations I'm still working on. But feel free to add your thoughts!