Skip to content

Dragan-Prpa/Saidkick

Repository files navigation

Saidkick

IntelliJ plugin prototype for a simple LLM chatbot.

Features

  • Basic chat UI in the tool window
  • Sends user messages to an OpenAI-compatible Chat Completions API
  • Uses .env values for LLM configuration
  • Keeps in-session chat history while the tool window is open
  • Injects mandatory identity/personality system instructions into every LLM prompt

Environment configuration

Saidkick uses two env files:

  • Plugin runtime API config from this plugin project's root .env
  • Optional identity/tone values from the opened user's project .env

Plugin project .env (required for LLM calls)

LLM_BASE_URL=https://api.openai.com/v1
LLM_API_KEY=
LLM_MODEL=gpt-4o-mini
LLM_TIMEOUT_SECONDS=20

Opened user's project .env (identity values)

ASSISTANT_NAME=Saidkick
DEVELOPER_NAME=Developer
ASSISTANT_COLOR=blue
DEVELOPER_COLOR=green
ASSISTANT_PERSONALITY=coach

INACTIVITY_PERIOD=300

If values are missing, safe defaults are used.

On startup, if identity values are fully configured, Saidkick greets the developer. If the developer is inactive, Saidkick sends a proactive help message. Saidkick also keeps a counter of saved file changes since the last commit; when this counter goes above 150, it sends a proactive commit reminder generated by the LLM.

Proactive LLM responses are constrained to exactly one sentence and at most 20 words. The saved-file counter resets automatically after a successful commit.

On startup, if any of ASSISTANT_NAME, DEVELOPER_NAME, ASSISTANT_COLOR, DEVELOPER_COLOR, or ASSISTANT_PERSONALITY are missing from the opened project .env, Saidkick sends an unprompted setup message that starts with Hello Developer, I am Saidkick and explains exactly how to define them. ASSISTANT_COLOR and DEVELOPER_COLOR should use color names (for example: red, green, yellow, purple, brown). After updating .env, fully restart the IDE so the plugin reloads the new values.

Personality descriptions used in prompt injection are documented in docs/personality-spec.md.

About

Saidkick is an IntelliJ plugin built at HackUPC that acts like a real coding buddy inside your IDE. It pays attention to how you work and steps in when you’re stuck, sending a quick nudge or asking if you need help. It has a customizable personality, so it feels less like a tool and more like someone keeping you on track while you code.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages