Skip to content
Open
Due by September 30, 2026
Last updated Aug 7, 2026

It's become hard to update this milestone. Please check issues for an up to date representation.

  • Fix all compiler warnings and linker errors. (https://github.com/Logic-gate/cleaf/issues/3)

  • Fix source-ID, timeout, idle, and signal-lifetime problems. (https://github.com/Logic-gate/cleaf/issues/1)

  • Add basic smoke tests. (https://github.com/Logic-gate/cleaf/issues/4)

  • Add a CI build using the strict compiler flags. (https://github.com/Logic-gate/cleaf/issues/5)

  • Standardize versioning and comment style. (https://github.com/Logic-gate/cleaf/issues/6)

  • Split files larger than 500–600 lines.

  • Keep functions near 50 lines.

  • Separate UI, editor, project, syntax, indexing, and application state.

  • Document ownership, GTK signal lifetime, idles, timeouts, and workarounds.

  • Remove duplicated helpers and scattered state.

  • Standardize error handling and cleanup paths.

  • Doxygen Documentation(moved from 0.17) (https://github.com/Logic-gate/cleaf/issues/2)

  • Themes

  • Preserve all existing theme configuration keys.

  • Expose remaining interface colors and fonts.

  • Use one application-level GtkCssProvider.

  • Remove hard-coded colors and fonts from UI modules.

  • Apply GtkSourceView colors separately.

  • Add live theme switching.

  • Stabilize project indexing.

  • Stabilize reference and definition lookup.

  • Stabilize manual and automatic completion.

  • Improve import and include completion.

  • Fix large-file completion and reference behavior.

  • Improve project search and replace.

  • Stabilize Markdown and LaTeX preview.

  • Verify scroll-preview synchronization.

  • Improve external-file-change handling.

  • Add cancellation and progress reporting for long operations.

  • Make indexing and project limits configurable.

  • Define a plugin manifest format.

  • Add plugin discovery and loading.

  • Support enabling, disabling, installing, and removing plugins.

  • Add plugin version and Cleaf compatibility checks.

  • Add plugin-specific configuration storage.

  • Add plugin logging and error reporting.

  • Prevent plugin failures from crashing Cleaf.

  • Define permissions for:
    - filesystem access
    - process execution
    - network access
    - project modification

  • Add extension points for:
    - commands
    - menus
    - toolbars
    - side panels
    - bottom panels
    - editor actions
    - project types
    - completions
    - diagnostics
    - build systems
    - AI providers

  • Document the plugin API.

Replace Codex-specific assumptions with a generic AI-provider interface.

The API should support:

  • starting a conversation
  • sending prompts
  • streaming responses
  • stopping requests
  • requesting user approval
  • reporting file changes
  • displaying diffs
  • keeping or reverting changes
  • reporting provider errors
  • provider-specific authentication and configuration

Official plugin

  • Extract the current Codex integration into an official Codex plugin.
  • Keep Codex protocol handling inside the plugin.
  • Verify approval requests and responses.
  • Verify request IDs and continuation events.
  • Handle unsupported protocol methods visibly.
  • Improve process restart and recovery.
  • Future providers

The API should allow plugins for:

  • Claude
  • Mind2
  • local models
  • OpenAI-compatible endpoints
  • other agent servers

Add generic extension points for platform-specific development environments.

Plugins should be able to provide:

  • project detection
  • project metadata
  • file-type registration
  • syntax definitions
  • completions
  • diagnostics
  • build commands
  • clean commands
  • deployment targets
  • run commands
  • log viewers
  • project templates
  • project settings
  • platform-specific panels

Cleaf core should provide:

  • safe process execution
  • structured command output
  • diagnostics presentation
  • target selection
  • project configuration storage
  • cancellation and progress reporting

Git remains a core project feature unless it is later moved behind the plugin API. A decision will be made later on.

  • Test status, diff, stage, unstage, commit, pull, and push.

  • Handle missing repositories and remotes.

  • Handle detached HEAD and conflicts.

  • Improve credential-helper and authentication errors.

  • Prevent concurrent Git operations.

  • Add cancellation.

  • Display complete command output.

  • Ensure Git refresh never blocks editing.

  • Stabilize interactions between Git, project indexing, and file watching.

  • Create a reproducible AppImage build.

  • Verify bundled dependencies.

  • Verify desktop entry, icons, and MIME associations.

  • Add release tarballs and checksums.

  • Add GitHub release automation.

  • Test on at least two Linux distributions.

  • Publish the first public alpha release.

Implement Sailfish support as an official plugin.

  • Detect Sailfish SDK projects.

  • Detect the installed Sailfish SDK.

  • Detect configured build targets.

  • Recognize QML, JavaScript, C++, RPM, Python, and Sailfish project files.

  • Add project templates.

  • Add Sailfish Silica completions.

  • Add documentation lookup.

  • Add build and clean commands.

  • Build RPM packages.

  • Deploy to emulator or device.

  • Launch and stop applications.

  • Display build diagnostics.

  • Display device and application logs.

  • Store Sailfish-specific project settings.

  • Add a plugin management interface.

  • Show installed plugins and versions.

  • Show requested permissions.

  • Support plugin updates.

  • Support local plugin installation.

  • Add compatibility warnings.

  • Add plugin enable and disable controls.

  • Define plugin packaging and signing requirements.

  • Prepare an official plugin registry format.

65% complete

List view