Skip to content

Develop the overall functionality in the skeleton implementation #3

Description

@ilgaur
  • Get git diff for staged files via a subprocess command
  • Setup env var retrieval functionality to get api creds using global git environments via subprocesses (those ugly api creds which are committed to the git history are revoked, I promise)
  • Implement basic OpenAI library to request commit messages by feeding the generated git diff to it (does not take the commit message written by the user into account, have seperate TODO item for this potential feature) (using qwen/qwen3-1.7b:free)
  • Test using Open router API keys to see if it works overall and I get the commit message back
  • Prepare a well-formatted prompt to make sure we get properly formatted semantic commit messages
  • Basic flow/error handling
  • Do checks and the needed implementations to make sure that the overall error handling is robust and complete
  • Potential improvements in the prompt
  • Write the commit message to the file (need to figure this out, needs to be tested)
  • Make sure the directory structure makes sense
  • Potential feature: taking the user-made commit message into account too (inject into the prompt)
  • Potential feature: take in custom prompts from the user
  • Potential feature: take in a parameter to use custom LLM
  • Better flow/error handling (edge cases?)
  • Potential feature: other ways to get env vars for creds (other than using subprocess to get it from git vars, linux env vars or a config file maybe)
  • Potential feature: If getting env vars in other ways that git credentials, how to make sure the API key is secure, encode or encrypt, not sure about this yet
  • Do an initial refactoring and minor cleanups

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions