{"id":50450666,"url":"https://github.com/apozinn/kraftaeditor","last_synced_at":"2026-06-01T00:01:34.551Z","repository":{"id":155518714,"uuid":"605811890","full_name":"apozinn/kraftaEditor","owner":"apozinn","description":"Fast, lightweight and cross-platform code-editor","archived":false,"fork":false,"pushed_at":"2026-05-30T23:54:12.000Z","size":2619,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-31T01:17:15.770Z","etag":null,"topics":["application","code-editor","cpp","cross-platform","desktop-app","developer-tools","wxwidgets"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apozinn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-24T00:21:36.000Z","updated_at":"2026-05-30T23:54:16.000Z","dependencies_parsed_at":"2023-12-08T01:30:44.342Z","dependency_job_id":"0c93246e-c858-49f4-974f-a4e2046ff72d","html_url":"https://github.com/apozinn/kraftaEditor","commit_stats":null,"previous_names":["apozinn/kraftaeditor"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/apozinn/kraftaEditor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apozinn%2FkraftaEditor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apozinn%2FkraftaEditor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apozinn%2FkraftaEditor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apozinn%2FkraftaEditor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apozinn","download_url":"https://codeload.github.com/apozinn/kraftaEditor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apozinn%2FkraftaEditor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33753925,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-31T02:00:06.040Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["application","code-editor","cpp","cross-platform","desktop-app","developer-tools","wxwidgets"],"created_at":"2026-06-01T00:01:22.597Z","updated_at":"2026-06-01T00:01:34.537Z","avatar_url":"https://github.com/apozinn.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"https://raw.githubusercontent.com/apozinn/kraftaEditor/refs/heads/main/assets/images/kraftaEditor.png\" alt=\"Krafta Editor\" width=\"54\" align=\"middle\"\u003e \u0026nbsp; Krafta Editor\n\n![Version](https://img.shields.io/badge/Version-0.9.0-orange)\n![License](https://img.shields.io/badge/License-LGPLv3-blue)\n![C++20](https://img.shields.io/badge/C++-20-00599C?logo=cplusplus)\n![Platforms](https://img.shields.io/badge/Platforms-Windows%20%7C%20Linux%20%7C%20macOS-success)\n\nA fast, native code editor built with C++ and wxWidgets.\n\nNo Electron. No Chromium. No web stack.\nJust a lightweight native application focused on speed, responsiveness, and low memory usage.\n\n![Krafta Editor — dark theme](https://i.imgur.com/GM7mMJ6.png)\n\n## Performance\n\nMeasured on a Release build running on Linux.\n\n| Metric           | Krafta Editor | Visual Studio Code |\n| ---------------- | ------------- | ------------------ |\n| Startup time     | \u003c 200 ms      | ~2–4 seconds       |\n| RAM usage (idle) | ~60–70 MB     | ~300–500 MB        |\n| Executable size  | ~11 MB        | ~350–400 MB        |\n\n\u003e Values are approximate and may vary depending on platform, compiler, extensions, and system configuration.\n\n---\n\n## Platform Status\n\n| Platform | Status       |\n| -------- | ------------ |\n| Linux    | Stable       |\n| Windows  | Stable       |\n| macOS    | Experimental |\n\n---\n\n## Tech Stack\n\n* C++20\n* wxWidgets 3.3+\n* CMake 3.27+\n\n---\n\n## Prerequisites\n\n| Platform | Requirements                                 |\n| -------- | -------------------------------------------- |\n| All      | CMake ≥ 3.27 and a C++20-compatible compiler |\n| Linux    | GTK3 (`libgtk-3-dev`)                        |\n| macOS    | Xcode Command Line Tools                     |\n| Windows  | Visual Studio 2022+                          |\n\nwxWidgets 3.3+ is required.\n\nBy default, CMake downloads and builds wxWidgets automatically using FetchContent, so no manual installation is required.\n\nSee [wxWidgets Setup](#wxwidgets-setup) for system-installed alternatives.\n\n---\n\n## Build from Source\n\n```bash\ngit clone https://github.com/apozinn/kraftaEditor.git\ncd kraftaEditor\n\ncmake -S . -B build -DCMAKE_BUILD_TYPE=Release\ncmake --build build --config Release\n\n# Run directly after building\ncmake --build build --target run --config Release\n\n```\n\nThe executable is generated at:\n\n```text\nbuild/bin/Release/kraftaEditor\n\n```\n\n\u003e On Windows with Visual Studio, `--config Release` is mandatory.\n\u003e On Linux/macOS with Ninja or Make, it is optional but kept for consistency.\n\n---\n\n## wxWidgets Setup\n\n### Option 1 — FetchContent (Recommended)\n\nCMake automatically downloads and compiles wxWidgets 3.3.\n\nNo additional setup is required.\n\nThe first build may take longer due to dependency compilation, but subsequent builds use cached artifacts.\n\n---\n\n### Option 2 — System-installed wxWidgets\n\nUse an existing wxWidgets installation by passing the appropriate flag to CMake:\n\n```text\n-DUSE_SYSTEM_WXWIDGETS=ON\n\n```\n\nIf the detected version is older than 3.3, the build automatically falls back to FetchContent.\n\n---\n\n### Linux (Debian/Ubuntu)\n\nwxWidgets 3.3 is not yet available in official apt repositories.\n\nInstall only the required system dependencies:\n\n```bash\nsudo apt install build-essential cmake libgtk-3-dev\n\n```\n\nThen build normally:\n\n```bash\ncmake -S . -B build -DCMAKE_BUILD_TYPE=Release\ncmake --build build\n\n```\n\n\u003e `-DUSE_SYSTEM_WXWIDGETS=ON` is currently not applicable on Linux until wxWidgets 3.3 becomes available in official repositories.\n\n---\n\n### macOS\n\n```bash\nbrew install cmake wxwidgets\n\ncmake -S . -B build \\\n  -DUSE_SYSTEM_WXWIDGETS=ON \\\n  -DCMAKE_BUILD_TYPE=Release\n\n```\n\n---\n\n### Windows\n\n1. Download wxWidgets 3.3+ from: [https://www.wxwidgets.org/downloads/](https://www.wxwidgets.org/downloads/)\n2. Build and install it following the official documentation.\n3. Set `wxWidgets_ROOT_DIR` to the installation path.\n4. Configure the project:\n\n```cmd\ncmake -S . -B build ^\n  -DUSE_SYSTEM_WXWIDGETS=ON ^\n  -DCMAKE_BUILD_TYPE=Release\n\n```\n\n---\n\n## CMake Options\n\n| Flag | Default | Description |\n| --- | --- | --- |\n| `-DUSE_SYSTEM_WXWIDGETS` | OFF | Use system wxWidgets instead of FetchContent |\n| `-DENABLE_TESTS` | OFF | Build test suite |\n| `-DENABLE_CLANG_TIDY` | OFF | Enable clang-tidy analysis |\n| `-DENABLE_WERROR` | OFF | Treat warnings as errors |\n| `-DENABLE_UNITY_BUILD` | ON | Disable unity build for faster incremental builds |\n\n---\n\n## Linux Installation\n\nTwo installation methods are available. Both install the executable, assets, desktop entry, and application icon, as well as refreshing desktop and icon caches automatically. Root permissions are required for system-wide installation.\n\n---\n\n### Method 1 — Install Script\n\n```bash\ncmake -S . -B build -DCMAKE_BUILD_TYPE=Release\ncmake --build build --config Release\n\nchmod +x scripts/install.sh\nsudo ./scripts/install.sh\n\n```\n\nInstalled paths:\n\n```text\n/usr/local/bin/kraftaEditor\n/usr/share/kraftaEditor/{assets,languages,config,i18n}\n/usr/share/icons/hicolor/256x256/apps/kraftaEditor.png\n/usr/share/applications/krafta-editor.desktop\n\n```\n\n---\n\n### Method 2 — CMake Install\n\n```bash\ncmake -S . -B build -DCMAKE_BUILD_TYPE=Release\ncmake --build build --config Release\n\nsudo cmake --install build\n\n```\n\nInstall locally without `sudo`:\n\n```bash\ncmake --install build --prefix ~/.local\n\n```\n\n---\n\n### Uninstall\n\n```bash\nchmod +x scripts/uninstall.sh\nsudo ./scripts/uninstall.sh\n\n```\n\nRemoves all installed files and refreshes desktop/icon caches.\n\n\u003e The install scripts are intended for local/system-wide source installs and are not replacements for package managers.\n\u003e For `.deb`, `.rpm`, or Arch Linux packaging, prefer `cmake --install` with the appropriate prefix.\n\n---\n\n## Roadmap\n\n* [ ] LSP integration (Language Server Protocol)\n* [ ] Integrated terminal\n* [ ] Plugin API\n* [ ] Git integration\n* [ ] Multi-cursor editing\n\n---\n\n## Contributing\n\n### Guidelines\n\n1. Fork the repository\n2. Create a branch from `main`\n3. Keep commits focused and descriptive\n4. Follow the existing code style\n5. Update documentation when applicable\n6. Open a pull request with a clear description\n\nFor bug reports and feature requests, use:\n[https://github.com/apozinn/kraftaEditor/issues](https://github.com/apozinn/kraftaEditor/issues)\n\n---\n\n## License\n\nKrafta Editor is licensed under the GNU LGPLv3 license. See the `LICENSE` file for details.\n\n---\n\n© 2023–2026 Okarin Softwares","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapozinn%2Fkraftaeditor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapozinn%2Fkraftaeditor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapozinn%2Fkraftaeditor/lists"}