Milestones
List view
It's become hard to update this milestone. Please check issues for an up to date representation. - [x] Fix all compiler warnings and linker errors. (https://github.com/Logic-gate/cleaf/issues/3) - [x] Fix source-ID, timeout, idle, and signal-lifetime problems. (https://github.com/Logic-gate/cleaf/issues/1) - [x] Add basic smoke tests. (https://github.com/Logic-gate/cleaf/issues/4) - [x] Add a CI build using the strict compiler flags. (https://github.com/Logic-gate/cleaf/issues/5) - [x] 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. - [x] Separate UI, editor, project, syntax, indexing, and application state. - [x] Document ownership, GTK signal lifetime, idles, timeouts, and workarounds. - [x] Remove duplicated helpers and scattered state. - [x] Standardize error handling and cleanup paths. - [x] Doxygen Documentation(moved from 0.17) (https://github.com/Logic-gate/cleaf/issues/2) - [x] 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. - [x] 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.
Due by September 30, 2026•20/31 issues closed