Has anybody here been granted access to the <Junie...
# ai
c
Has anybody here been granted access to the Junie EAP? Assuming you are able to discuss your experience so far, what are your initial impressions? (Particularly from the perspective of Kotlin development).
👍 3
👀 1
d
Keen to know too - was also very keen on trialling Junie myself ASAP, as I'm a heavy [JB] and AI user 🙏
a
I'm curious to know too. I'm gonna switch my workflow back to IJ Ultimate once I get added to the EAP, but I'm still waiting for that
1
s
I just got mine and so far I'm pleased. The idea of guidelines.md super prompt being a markdown file that is source controlled is awesome.
a
I keep checking my emails 🥲
Someone at work already has it and I'm jealous 🤣
c
I did get my invite last week and was able to spend some time running through the onboarding playbook. First impressions are good. There is also a Discord server for EAP participants. They were adding about 5 people per day there, but the pace of new folks joining there is picking up. I think you can be optimistic about getting an invite soon, or them switching to public EAP.
👍 1
❤️ 1
a
I'm hoping soon!
d
Does it work fully inside IntelliJ IDE or is it a Web-based product; don't even know that much?
c
It's an IntelliJ (or WebStorm) plugin, operating in a pane within the IDE.
💯 1
❤️ 1
d
Nice!
So kind of like a super-duper AI Assistant with more project-context awareness and multi-file edit capability?
a
Pretty much. AI agents in general are able to perform tasks on their own with some guidance
👍 1
It works autonomously to achieve the goal of your prompt, you just set ground rules for what it can and can't do
c
JB AI Assistant = Enhanced Code Complete and Suggestions Junie = Conversational assistant that creates and modifies files in the codebase based on your prompts.
💯 1
s
This really shines setting up projects. Would love the ability to watch the output when it tries to build.
e
I’ve got it. I tried to have it generate a simple KMP desktop and web app from a basically empty kotlin project to prompt for and display a list a given youTube user’s videos. Selecting one would show more details about that video in the main view. That’s the idea anyway. The next step was to have a pane that can play the selected video. I couldn’t quite get the project working. I’m a n00b at KMP, so I don’t quite know how to fix it, but if you’re curious what it did, I can push it to GH. There are issues with the gradle build file, but if I comment those out, the project does build. One other observation. It doesn’t seem to know what the current versions of various libraries are available, including the version of kotlin. Here’s what it generated
Copy code
plugins {
    kotlin("multiplatform") version "1.9.21"
    kotlin("plugin.serialization") version "1.9.21"
    id("org.jetbrains.compose") version "1.5.11"
}
It would awesome if Junie could check mvnrepository.com (or whatever) to check for the latest libraries.
I played around a bit with the guidelines.md file. Here’s what I stuck in mine, just to see what it would do. No results yet to report on this, but I can once I get it to generate more business logic.
Copy code
Avoid using exceptions for business errors. Instead use Arrow's `Either` type, 
along with algebraic data types for error handling. 

Use domain driven design when structuring the domain layer of the application 
to separate different business domains into separate bounded contexts.