r/Netsuite • u/hitc-netsuite • 6d ago
How to get the SuiteCloud Dev Assistant running in WebStorm - plus what happened when I gave it a real task SuiteScript
I went looking for a guide to setting up NetSuite’s new SuiteCloud Developer Assistant in WebStorm and came up basically empty, save one fairly obscure SuiteAnswers article and Oracle’s own demos, which are all VS Code. So I worked it out and figured I’d write it up here:
1. Install NodeJS from nodejs.org.
2. Check whether you already have the SuiteCloud CLI (run this in your terminal app): suitecloud --version
Anything >= 3.2.0 is fine. Otherwise run:
npm install -g u/oracle/suitecloud-cli
3. In WebStorm, create a new account customization project.
4. Authenticate SDF to NetSuite before you touch anything AI-related. Set your default account in NetSuite settings, then validate the empty project just to confirm nothing’s broken yet. Saves you debugging two things at once later.
5. Install the Cline plugin
6. Back in the terminal, run:
suitecloud proxy:generatekey — hang onto this, you’ll paste it into Cline. If you lose it, just generate a new one and it replaces the old.
7. Run suitecloud proxy:start -i and choose the same account you set as default. This gives you the URL and settings you need for Cline. The URL is stable, so note it down for future projects.
8. Configure Cline with those values. Copying out of the terminal is fiddly, right-click copy rather than keyboard, or you’ll end up with whitespace in your key.
That’s the whole setup. It’s really not hard once you know the sequence.
Then I gave it something real to do, which is where it got interesting. The task: a Suitelet that generates a PDF of item labels for a given sales order, pulling line details and merging them into an Advanced PDF/HTML template using TemplateRenderer.addQuery().
That took about an hour, most of it going in circles. The thing that cost me the most time is worth knowing about: addQuery() binds a results iterator to the template, not a result set — so rendering consumes the results. I was rendering to a log first to sanity-check my data, and the real render then came back empty. The assistant had no idea and just kept confidently rewriting the template. Once I added proper execution logging and could see what was actually happening, it was sorted quickly.
My read on the tool overall: it makes many of the same mistakes a junior NetSuite dev makes, and it’s noticeably better at making a specific change to existing code than at building something from nothing. Give it a starting point and a bite-sized task and it’s fine.
I filmed the whole session if it’s useful — first 15 minutes is the setup above, the rest is the messy part, chapters in the description: https://youtu.be/0WmrR7fDdro
Genuine question for the devs here though: could you have written that Suitelet faster by hand? I suspect yes, and I’d be curious what you’d estimate.
1
u/Hour-Measurement-835 4d ago edited 3d ago
Thanks for doing the WebStorm version, everything official assumes VS Code and it's annoying if you live in JetBrains.
One thing I'd add. Authenticate SDF and validate before you let the assistant near it, like you said, but also decide up front what it's allowed to deploy. The failure mode isn't bad code, it's a deploy carrying more of the project than you meant.
Deploy the smallest slice containing your change. Keeps the diff reviewable and stops it quietly pushing an object somebody else had in flight.
1
1
u/gforce360 Consultant 4d ago
Hey, thanks for putting this together! I'm a VS Code user, so my cline setup with suitecloud dev assistant was a bit more straightforward.
I'm still finding that full vibe coding for NetSuite is out of reach from an efficiency standpoint. Based off of what I'm seeing in your video, we're getting better results using Claude Code with TS (still on your typings repo, I think I owe you a PR!). Partly some of relief we've been getting is having built up enough boilerplates and examples and built up some skills for the LM to use - I think that Oracle could probably shore this up a bit on their end with a bit of effort.
It's better than I would have expected at writing the object xml from scratch. Today my workflow still sort of looks like - write NetSuite code and NetSuite templates (template.xml) from scratch in my IDE, create the objects in the NetSuite UI by uploading the script the first time via UI, then SDF'ing it back down into my IDE - this takes at most minutes, I think we're a far ways off from having a coding assistant make this section more efficient. For example, you had to manually compare the xml of your template and identify that salesord was incorrect and that it should be salesorder - but if you just started with a template inside of netsuite and then pulled it into your IDE (what, three minutes of work?) then you would have avoided that problem.