{"id":20683170,"url":"https://github.com/chimehq/chimekit","last_synced_at":"2025-08-20T22:31:28.908Z","repository":{"id":55491030,"uuid":"521604131","full_name":"ChimeHQ/ChimeKit","owner":"ChimeHQ","description":"Framework for building Chime extensions","archived":false,"fork":false,"pushed_at":"2024-07-09T11:10:25.000Z","size":149303,"stargazers_count":49,"open_issues_count":2,"forks_count":3,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-10-30T08:04:24.190Z","etag":null,"topics":["extensionkit","language-server-protocol","macos","swift","swiftui"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ChimeHQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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}},"created_at":"2022-08-05T10:58:03.000Z","updated_at":"2024-09-26T21:14:26.000Z","dependencies_parsed_at":"2023-11-29T00:37:54.552Z","dependency_job_id":"5b7e846e-cbc9-4394-8db8-105ae4960670","html_url":"https://github.com/ChimeHQ/ChimeKit","commit_stats":{"total_commits":148,"total_committers":2,"mean_commits":74.0,"dds":0.006756756756756799,"last_synced_commit":"8cc2fccc9a4f653dd1b0907fff6206bd398c3b0a"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChimeHQ%2FChimeKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChimeHQ%2FChimeKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChimeHQ%2FChimeKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChimeHQ%2FChimeKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChimeHQ","download_url":"https://codeload.github.com/ChimeHQ/ChimeKit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230462906,"owners_count":18229864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["extensionkit","language-server-protocol","macos","swift","swiftui"],"created_at":"2024-11-16T22:15:38.778Z","updated_at":"2024-12-19T16:11:18.334Z","avatar_url":"https://github.com/ChimeHQ.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n[![Build Status][build status badge]][build status]\n[![Platforms][platforms badge]][platforms]\n[![Documentation][documentation badge]][documentation]\n[![Discord][discord badge]][discord]\n\n\u003c/div\u003e\n\n# ChimeKit\nChimeKit provides the functionality needed to build extensions for [Chime][chime], the editor for macOS. You can use it to provide semantic features, display views, and integrate with [ExtensionKit][extensionkit]. Chime can do a lot more with extensions.\n\n\u003cp align=\"center\"\u003e\n    \u003cpicture\u003e\n        \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://github.com/ChimeHQ/ChimeKit/blob/main/chimekit-banner~dark@2x.png 2x\"\u003e\n        \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://github.com/ChimeHQ/ChimeKit/blob/main/chimekit-banner@2x.png 2x\"\u003e \n        \u003cimg alt=\"ChimeKit logo: a green hexagon connected to a grey hexagon with a puzzle-piece cutout.\" src=\"https://github.com/ChimeHQ/ChimeKit/blob/main/chimekit-banner@2x.png\"\u003e\n    \u003c/picture\u003e\n\u003c/p\u003e\n\n## Overview\n\nChime's extensions are based on [ExtensionKit][extensionkit]. They are written in Swift and SwiftUI. ChimeKit also includes a system for integrating [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) servers with the extension API. For the most part, ChimeKit abstracts away all of the ExtensionKit details. You program against the ChimeKit APIs, not the ExtensionKit primitives. However, ExtensionKit does impose some requirements related to security and distribution you must be aware of.\n\nChimeKit development requires [Chime 2.0](https://www.chimehq.com/download), Xcode 14, and macOS Ventura (13.0). However, extensions should try to match ChimeKit's macOS Monterey (12.0) requirement.\n\n📖 [Documentation][documentation] is available in DocC format. But, please don't be shy to [reach out](https://www.chimehq.com/contact) to us - we'll help!\n\n## Integration\n\nChimeKit supports different integration options, all available via SPM. Be sure to read more in the [documentation][documentation], as it isn't as straightforward as a typical SPM package.\n\n```swift\ndependencies: [\n    .package(url: \"https://github.com/ChimeHQ/ChimeKit\", branch: \"main\")\n]\n```\n\n## Our Philosophy\n\nWe want to provide a simple user experience for extensions, particularly for language support. We don't think it's great to have four different extensions for one language. So, while we will not gatekeep, we'll have a very strong bias towards **one** extension per language.\n\nLSP is pervasive in language support extensions. Many IDEs use a model of one extension per language server. ChimeKit allows for multiple servers per extension. We think of LSP servers as an implementation detail of language support. Coordinating the behaviors of multiple servers is the job of an extension, not the user.\n\nAll of Chime's [extensions][extensions] are open source and we will **always** begin work on new language support as open source projects.\n\n## Contributing and Collaboration\n\nI would love to hear from you! Issues or pull requests work great. A [Discord server][discord] is also available for live help, but I have a strong bias towards answering in the form of documentation.\n\nI prefer collaboration, and would love to find ways to work together if you have a similar project.\n\nI prefer indentation with tabs for improved accessibility. But, I'd rather you use the system you want and make a PR than hesitate because of whitespace.\n\nBy participating in this project you agree to abide by the [Contributor Code of Conduct](CODE_OF_CONDUCT.md).\n\n[build status]: https://github.com/ChimeHQ/ChimeKit/actions\n[build status badge]: https://github.com/ChimeHQ/ChimeKit/workflows/CI/badge.svg\n[platforms]: https://swiftpackageindex.com/ChimeHQ/ChimeKit\n[platforms badge]: https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2FChimeHQ%2FChimeKit%2Fbadge%3Ftype%3Dplatforms\n[documentation]: https://swiftpackageindex.com/ChimeHQ/ChimeKit/main/documentation\n[documentation badge]: https://img.shields.io/badge/Documentation-DocC-blue\n[discord]: https://discord.gg/esFpX6sErJ\n[discord badge]: https://img.shields.io/badge/Discord-purple?logo=Discord\u0026label=Chat\u0026color=%235A64EC\n[chime]: https://www.chimehq.com\n[extensions]: https://www.chimehq.com/extensions\n[extensionkit]: https://developer.apple.com/documentation/extensionkit\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchimehq%2Fchimekit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchimehq%2Fchimekit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchimehq%2Fchimekit/lists"}