VOOZH about

URL: https://thenewstack.io/ghost-in-the-ide-testing-replits-ai-helper-ghostwriter/

⇱ Ghost in the IDE: Testing Replit's AI Helper, Ghostwriter - The New Stack


TNS
SUBSCRIBE
Join our community of software engineering leaders and aspirational developers. Always stay in-the-know by getting the most important news and exclusive content delivered fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter in the past. Click the button below to open the re-subscribe form in a new tab. When you're done, simply close that tab and continue with this form to complete your subscription.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!

We’re so glad you’re here. You can expect all the best TNS content to arrive Monday through Friday to keep you on top of the news and at the top of your game.

What’s next?

Check your inbox for a confirmation email where you can adjust your preferences and even join additional groups.

Follow TNS on your favorite social media networks.

Become a TNS follower on LinkedIn.

Check out the latest featured and trending stories while you wait for your first TNS newsletter.

PREV
1 of 2
NEXT
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Thanks for your opinion! Subscribe below to get the final results, published exclusively in our TNS Update newsletter:
NEW! Try Stackie AI
From clobbered drafts to real-time sync
Apr 14th 2026 10:00am, by David Moore
TypeScript 6.0 RC arrives as a bridge to a faster future
Mar 14th 2026 9:00am, by Darryl K. Taft
Mastra empowers web devs to build AI agents in TypeScript
Jan 28th 2026 11:00am, by Loraine Lawson
2023-09-30 07:00:35
Ghost in the IDE: Testing Replit's AI Helper, Ghostwriter
tutorial,
AI / Software Development

Ghost in the IDE: Testing Replit’s AI Helper, Ghostwriter

Replit is advancing with the spirit of AI, and has more than a ghost of a chance to succeed with its Ghostwriter product, says David Eastman.
Sep 30th, 2023 7:00am by David Eastman
👁 Featued image for: Ghost in the IDE: Testing Replit’s AI Helper, Ghostwriter
Image via Unsplash
Recently, I’ve been taking a trip through tools that give the software developer hints, help, debugging advice or (in some cases) complete code snippets, boosted by what we are currently referring to as AI. My particular preference are hints given on the edit line, like Visual Studio already does and Copilot does even more of. Given that I like online sandboxes, and I’m looking at AI tools, there does seems one obvious tool I should investigate. Replit is an already popular online IDE, where your projects are hosted on ‘Repls’ (the term REPL or read-eval-print loop is at the root of the name). Replit is a hosted solution, so collaboration is built in. Recently the company introduced its LLM service, Ghostwriter. Unlike the general abilities of OpenAI, the Economist noticed that Replit was favouring using LLM models to focus just on development. They use the Databricks AI platform, which Nvidia are heavily invested in. With no need to install anything, I went ahead and created an account with Google. I could, of course, have used GitHub for identity. Interestingly, Replit asks not just what your intended use is (personal, collaboration, etc.) but how much development you have done. The first thing I saw on the dashboard was a bounty board, which I did not expect to see. This just underlines that Replit is as much a community as a tool — so it has a handy internal marketplace. But I’m here for the spook. I noted that I could pay for the services of Ghostwriter for $10, via “1000 Cycles”; that is, $10 buys a 1000 Cycles. At least Replit are not directly exposing their AI service costs, so if things change behind the scenes they can flex a little. And a virtual currency is transparent — it is, after all, what Fortnite does. Of course, Fortnite weighs prices carefully, so you find yourself needing just one more pack of V-bucks to buy that skin you want. 👁 Image
My aim is to use Ghostwriter on a ‘Repl’, so I’ll start with 1000 Cycles and see how I do. I assume that a public Repl is free, which mirrors the Github pattern. In a previous post, I used a small class to check out Copilot. What Copilot did was to complete my method based on its name (using common conventions) and using its understanding of the C# FlagsAttribute. All this does is indicate that an enumeration can be used as a bit field:
[Flags] public enum OccurrenceType {
 None = 0, 
 OccurrenceA = 1, 
 OccurrenceB = 2, 
 OccurrenceC = 4, 
 OccurrenceD = 8
} 
… 
private OccurrenceType occurrences { get; private set; } = OccurenceType.None
This technique is a compact way of storing events; it is also cheap to check whether the event has occurred. So I can represent OccurrenceA and OccurrenceC happening by bitwise ORing them together in a variable:
0000 (Nothing has happened)

OR

0001 (OccurrenceA happened)

OR

0100 (OccurrenceC happened)

-----

0101
And with the appropriate mask, we can quickly see whether, for example, OccurrenceC happened. This should be much more efficient than using a List. So, I started a Repl and chose C#. After generating a C# template project, the little helper showed me around, but the screen comfortably follows the normal windowed display. Also, it invited me to try Ghostwriter: 👁 Image
Oddly, the Run button didn’t seem to work…at first. Then I noticed that my CPU maxed out, but it did eventually manage to print out “Hello World”. Hmm. I guess I can throw Cycles at it! (remember this is running on Replit’s infrastructural dime.) Unfortunately, Ghostwriter started off unresponsive. This could have been because of network issues, or shyness. It didn’t tell me. I was getting responsiveness from the CPU cycles, but not Ghostwriter. While this is inevitable if you are offloading work to another service, the platform does need to do a little more work with health. When the chat window finally responded, I was ready to go. Unfortunately, the Ghost was still not writing any hints in real time, but it was prepared to generate code in the edit window. So I asked it to create the SetOccurrences method. ) The first attempt didn’t work. 👁 Image
That is:
public void SetOccurrences(OccurrenceType occurrence)
{
 this.occurrences = occurrence;
}
This is wrong, but I didn’t really help much: this would have been better named “AddOccurrence”. I rejected the hint and tried again, this time improving the name a little: 👁 Image
And this is correct. It is ORing the new occurrence in, not setting it directly. I still should have named it better, however. I was less fortunate with the method to check whether an occurrence has, er, occurred. It took many rejections, but eventually, I got the right bitwise calculation answer: 👁 Image
This is the correct way to use the flags. It ANDs the storage variable with the occurrence to check for, treating it as a mask. Any non-zero result shows that the occurrence occurred. Again, maybe if I gave my ethereal partner a better clue in the name, perhaps HasOccurrence, it would have come to the right answer a little quicker. I wanted to see if I could persuade it to use HasFlag, which is available in .NET 7. While it didn’t suggest this (had I looked in the project file, I would have seen that it wasn’t using this framework, so it never would suggest this) it did improve the suggestion a little:
public bool IsOccurrence(OccurrenceType occurrence) 
{ 
 return (occurrences & occurrence) == occurrence; 
}
…which is a nicer formulation. After adding some test execution lines to the main.cs file, and some console output, the project class worked as it should have: 👁 Image
Just one more thing; a debugging task. For the flags attribute to work, the enums must have the expected binary values. What would happen if I set OccurrenceD to 5? Ghostwriter didn’t appear to notice, and there did not appear to be a “debug” option. However, I asked it to “Explain the code” and got this excellent response while the error was in place: 👁 Image
This is absolutely correct, and even finds the bug during analysis — which is almost human. Altogether, while Ghostwriter didn’t appear to perform very proactively for me, it was certainly quicker to set up than Visual Studio and Copilot. I suspect with more CPU available, and a fair wind, it could behave in a more forthright style. It takes time to get used to any pairing partner, whether corporeal or otherwise. And as Ghostwriter does its haunting closer to the Replit infrastructure, I suspect sightings will be more reliable and system health will be easier to show. In short, Replit is definitely advancing with the spirit of AI. It has much more than a ghost of a chance to succeed.
TRENDING STORIES
David has been a London-based professional software developer with Oracle Corp. and British Telecom, and a consultant helping teams work in a more agile fashion. He wrote a book on UI design and has been writing technical articles ever since....
Read more from David Eastman
SHARE THIS STORY
TRENDING STORIES
TNS owner Insight Partners is an investor in: Databricks, OpenAI.
SHARE THIS STORY
TRENDING STORIES
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.
The New Stack does not sell your information or share it with unaffiliated third parties. By continuing, you agree to our Terms of Use and Privacy Policy.