Skip to content

Experimental IDE with markdown in code and passive documentation

Notifications You must be signed in to change notification settings

yuvrajvirk/CodeProse

Repository files navigation

CodeProse Logo

CodeProse

codeprose-demo.1.mp4

CodeProse is an experimental IDE designed to make it easier to understand code better by providing passive, AI-generated documentation and enriching code with rendered markdown comments.

Built as an extension of the Theia IDE, CodeProse features a custom editor based on CodeMirror. While this approach offers significant flexibility, it also means that some standard IDE features—such as "go to definition" do not work smoothly at this time.

Markdown Comments

Syntax:

//. Periods following the start of a comment signals markdown mode 
/*. Mult-line comments 
    work too*/
/*. [i] The `[i]` signals inline mode which produces smaller markdown text than without - useful for smaller notes in the middle of code */

Clone and checkout this project in the IDE for a demonstration.

Auto-Documentation

Currently, auto-documentation only generates function-level summaries and inline outlines of functions. The service can be invoked passively or manually (toggle in the the commande pallete).

In passive mode, all files in the workspace are monitored for saved edits. Edited functions are re-documented. Be careful to not include extraneous files when in passive mode since they'll all be documented and consume inference cost! Configure exclusions and inclusions in .docs/metadata.json.

In manual mode, documentation for the editor's active file is invoked via the command pallete.

API Key

The LLM is configured to gemini-2.5-flash, which I've qualitatively found works the best. Configure your API key and make it visible to the IDE using this command:

launchctl setenv GEMINI_API_KEY "your_api_key"

About

Experimental IDE with markdown in code and passive documentation

Resources

Stars

Watchers

Forks

Packages

No packages published