JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 12375,
"has_wiki": false,
"homepage": "https://emmet.io",
"languages": {
"Python": 125714,
"JavaScript": 468
},
"pushed_at": "2024-12-09T19:47:24Z",
"created_at": "2019-08-30T13:25:18Z",
"owner_type": "Organization",
"updated_at": "2026-07-11T19:53:52Z",
"description": "The essential toolkit for web-developers",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "Python",
"significant_languages": [
"Python"
]
},
"owner": {
"blog": "https://emmet.io",
"name": "Emmet.io",
"type": "Organization",
"login": "emmetio",
"company": null,
"location": "Saint-Petersburg, Russia",
"followers": 156,
"avatar_url": "https://avatars.githubusercontent.com/u/2185347?v=4",
"created_at": "2012-08-20T19:36:59Z",
"is_verified": null,
"public_repos": 65,
"account_age_days": 5093
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v2.0.2",
"kind": "patch",
"published_at": "2020-08-11T20:07:11Z"
},
{
"tag": "v2.0.1",
"kind": "patch",
"published_at": "2020-08-10T20:01:05Z"
},
{
"tag": "v2.0.0",
"kind": "major",
"published_at": "2020-08-10T10:16:06Z"
},
{
"tag": "v0.5.1",
"kind": "patch",
"published_at": "2020-08-09T22:59:24Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2020-08-06T09:00:58Z"
},
{
"tag": "v0.4.2",
"kind": "patch",
"published_at": "2020-08-04T20:23:42Z"
},
{
"tag": "v0.4.1",
"kind": "patch",
"published_at": "2020-08-02T21:21:11Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2020-08-02T14:54:37Z"
},
{
"tag": "v0.3.6",
"kind": "patch",
"published_at": "2020-07-14T17:10:06Z"
},
{
"tag": "v0.3.5",
"kind": "patch",
"published_at": "2020-07-07T09:12:44Z"
},
{
"tag": "v0.3.4",
"kind": "patch",
"published_at": "2020-07-05T21:36:29Z"
},
{
"tag": "v0.3.3",
"kind": "patch",
"published_at": "2020-07-05T21:09:58Z"
},
{
"tag": "v0.3.2",
"kind": "patch",
"published_at": "2020-07-04T17:15:12Z"
},
{
"tag": "v0.3.1",
"kind": "patch",
"published_at": "2020-07-04T17:13:48Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2020-07-02T11:12:51Z"
},
{
"tag": "v0.2.4",
"kind": "patch",
"published_at": "2020-04-11T09:21:23Z"
},
{
"tag": "v0.2.3",
"kind": "patch",
"published_at": "2020-04-05T16:39:26Z"
},
{
"tag": "v0.2.2",
"kind": "patch",
"published_at": "2020-04-01T12:30:53Z"
},
{
"tag": "v0.2.1",
"kind": "patch",
"published_at": "2020-03-29T08:40:38Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2020-03-28T20:20:57Z"
},
{
"tag": "v0.1.8",
"kind": "patch",
"published_at": "2020-01-08T17:52:27Z"
},
{
"tag": "v0.1.7",
"kind": "patch",
"published_at": "2019-12-03T22:30:31Z"
},
{
"tag": "v0.1.6",
"kind": "patch",
"published_at": "2019-11-28T20:48:47Z"
},
{
"tag": "v0.1.5",
"kind": "patch",
"published_at": "2019-11-27T19:57:06Z"
},
{
"tag": "v0.1.4",
"kind": "patch",
"published_at": "2019-11-25T22:52:53Z"
},
{
"tag": "v0.1.3",
"kind": "patch",
"published_at": "2019-11-24T22:34:23Z"
},
{
"tag": "v0.1.2",
"kind": "patch",
"published_at": "2019-11-22T08:21:08Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2019-11-22T07:56:16Z"
}
],
"recent_commits": [
{
"oid": "bfe5399a0ea3faee006f909451dd679d1698785b",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.4.4 → 2.4.5",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-12-09T19:47:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "76c045ca3d8c84196aca7b69f86caaec8cb97012",
"body": "* Fix settings indentation\r\n\r\nThis commit common indentation style to all settings.\r\n\r\nAccording to .editorconfig `tabs` seem preferred indentation.\r\n\r\n* Fix html syntax scope\r\n\r\nFixes #188\r\n\r\nEnsure to detect embedded HTML code, but exclude embedded source in HTML.\r\n\r\nThis commit enables Emmet in e\n[…]\nixed with `text.html` to make sure to match\r\nonly parts within HTML/XML, even if it is embedded in another source code.\r\nThat's required to keep abbreviations working in e.g. `source.astro text.html`.",
"is_bot": false,
"headline": "Tweak HTML/XML related selectors in settings (#189)",
"author_name": "deathaxe",
"author_login": "deathaxe",
"committed_at": "2024-12-09T19:46:33Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "065d02e1cfb5b7b194457749b051984d17d39f12",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.4.3 → 2.4.4",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-08-06T20:20:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "98a4f49a0c760deef7936a950e3d7f4c215f6743",
"body": null,
"is_bot": false,
"headline": "In JSX, validate that extracted abbreviation has prefix",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-08-04T15:47:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "54331510b95b2312ebd16d6cfeac3d43f6b260c2",
"body": null,
"is_bot": false,
"headline": "Allow JSX prefix override",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-08-03T11:02:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12abc2a6d7b803d453e9886fff2a3793115a3514",
"body": "Addresses #185",
"is_bot": false,
"headline": "Extract abbreviation from JSX attribute",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-08-03T10:34:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cfe97208e4f678a0eacf909f1eca6f396eeca74c",
"body": null,
"is_bot": false,
"headline": "Deploy on tag",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-04-19T08:29:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "393d156e32693041272d8c4df3d02b940db7c724",
"body": null,
"is_bot": false,
"headline": "Updated deploy action",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-04-19T08:27:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c5b81ee330e99bf887ed9cd6c8bb88ec652d085",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.4.2 → 2.4.3",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-04-19T08:15:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba272a882e891070bd98b7c79a1b75dc17e7e091",
"body": null,
"is_bot": false,
"headline": "Updated deploy action",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-04-19T08:15:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9a202a734042fd70a0876564382272659e83a49",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.4.1 → 2.4.2",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-04-05T08:14:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "545a68783e3635ec660cd2b9736b5411b60aee64",
"body": null,
"is_bot": false,
"headline": "Fixed formatting",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-04-05T08:14:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75fd7e29dee1f08c5e40a4dd5d022b7fb6071144",
"body": null,
"is_bot": false,
"headline": "fix console error (#165)",
"author_name": "Kositsky Alexandr",
"author_login": "felixcatto",
"committed_at": "2024-04-05T08:13:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e60a08bf3c473f74a5b24548b69de0afc41dee86",
"body": null,
"is_bot": false,
"headline": "Update build script",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-03-13T15:24:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08f41b2977df32e58b57f1bc3d2d9eca31984066",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.4.0 → 2.4.1",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-03-13T15:06:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a25c9daa9c4ec328c3efb9a0ae6a27622edfa976",
"body": null,
"is_bot": false,
"headline": "Prepare for 2.4.1 release",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2024-03-13T15:00:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df81e99d9655fe3ad0d7187051369a5324c6f139",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.3.3 → 2.4.0",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2023-01-18T23:58:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4df5ebf2e906cbbdb35a69b49b7d36ddb05eccfa",
"body": null,
"is_bot": false,
"headline": "Prepare v2.4.0 release",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2023-01-18T23:56:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5fa4445687f90e8748f4b962f1ba1dedb5d7bbb7",
"body": null,
"is_bot": false,
"headline": "Support CSS snippets in @supports at-rule",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2023-01-18T22:28:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "146c992ed63dfdbb63ed00afcd808a16fcedbd62",
"body": "Fixed #173",
"is_bot": false,
"headline": "Fixed @media context detection in recent ST",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2023-01-18T21:45:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0c20726f991b0afa5225a16e1cb42491f2b37e4a",
"body": null,
"is_bot": false,
"headline": "Fixes two typo (#158)",
"author_name": "Shakil-Shahadat",
"author_login": "Shakil-Shahadat",
"committed_at": "2021-03-22T07:03:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c7619573ff6fd02243a775f82bfe20c83514d56",
"body": "* updates 'emmet_go_to_edit_point' sample key-binding\r\n\r\nCo-authored-by: davicho <david@nulab.com>",
"is_bot": false,
"headline": "Fix-keybinding-for-OSX (#160)",
"author_name": "David",
"author_login": "davicho",
"committed_at": "2021-03-22T07:01:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3e440ed42d0b284501021f7fc5643482e78654a",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.3.2 → 2.3.3",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2021-03-06T19:41:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5fbc378894790ba2a45de75c1fd4d081781134bd",
"body": null,
"is_bot": false,
"headline": "Do not override output.attributeQuotes by default",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2021-03-06T19:41:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "843b50ed6dabe959d8f30ca7e78a956f31090246",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.3.1 → 2.3.2",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-12-13T16:23:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f2ca319efb19a44d1417e164c4ce62ff6833a6e",
"body": null,
"is_bot": false,
"headline": "py-emmet@1.1.10",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-12-13T16:23:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e1a5aab649d24a0b3122b397c346f64f3f21cdb",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.3.0 → 2.3.1",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-12-13T16:08:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b0867d38dc852004025bbad3509acb07f3d3f27",
"body": null,
"is_bot": false,
"headline": "Improved fast CSS section detection",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-12-13T16:08:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c6029acaa5ec5e06e1edd683c5e52532c00eff47",
"body": null,
"is_bot": false,
"headline": "Updated deploy script",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-12-01T12:56:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4818b4f6f62729c7a90670c1fc54e03d107aed16",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.2.6 → 2.3.0",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-12-01T12:42:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3db743a9bf587b2b97bc9ae55c885bf3dedc99f6",
"body": "Works in pure CSS only, should find a way for similar implementation in SCSS and LESS",
"is_bot": false,
"headline": "Faster context detection for CSS",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-12-01T12:42:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1f5dae422d8687a97962a7a24ab7988bde65e65",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.2.5 → 2.2.6",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-27T20:25:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "214ab5cba561f3dceff72dffea4e9f289ff38b52",
"body": "See https://github.com/emmetio/sublime-text-plugin/issues/139",
"is_bot": false,
"headline": "Stop tracking on abbreviation completion",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-27T20:25:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4fc0521b98b1b0f7ade77a87c523ad41c7495f5c",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.2.4 → 2.2.5",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-27T16:28:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12d021a56923de6950216db754347581be0a5775",
"body": "This allows users to complete abbreviations with words",
"is_bot": false,
"headline": "Do not forcibly reset tracker on completion",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-27T16:27:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1bdbc0aa36e318c5e77fa97476e2f4ab8a6e9abc",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.2.3 → 2.2.4",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-27T08:21:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5e15d2f136dfecde7a96bfe3a04213815bb3c777",
"body": null,
"is_bot": false,
"headline": "Retain multiple caret position after wrapping with abbreviation",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-27T08:21:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f8cf51ad1a1fb29c5b3ef65cf037a2217299d23",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.2.2 → 2.2.3",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-26T08:04:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cb37b4e221b9a1aec7021dc8a6c40cda5dd97ba6",
"body": null,
"is_bot": false,
"headline": "Force abbreviation suggest on explicit action",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-26T08:03:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d26b5bc37ec7ccae7296220d518900d6bedf75a4",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.2.1 → 2.2.2",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-25T14:57:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c4ae7eb1544e92e470f3c51d156e4b5fb3335dc",
"body": null,
"is_bot": false,
"headline": "Added option to disable JSX prefix",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-25T14:56:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3954cfe64f7aef4d806adcf35c1473fe9d4ea353",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.2.0 → 2.2.1",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-25T14:10:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "71e4b69586dccb712d25cae884b7371395791d0a",
"body": "Fixed abbreviation tracking at the beginning of the line",
"is_bot": false,
"headline": "Fixed abbreviation tracking for paired charaters",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-25T14:10:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3be3dda588e68205e4a5c10f3253baffdfefbb4d",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.22 → 2.2.0",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-25T13:37:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1760a333535b6d4aac84457f334c7b9f3ed3a356",
"body": null,
"is_bot": false,
"headline": "Updated changelog",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-25T13:37:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6876fac1e282a120dd0574c1bb37fab339e3b96f",
"body": "commit 0cecb6ad65f0baf49d583fb94b77c0ad1f3b6c02\nMerge: fbd67a7 01a9552\nAuthor: Sergey Chikuyonok <serge.che@gmail.com>\nDate: Sun Oct 25 16:01:54 2020 +0300\n\n Merge branch 'master' into muticursor\n\n # Conflicts:\n #\tlib/abbreviation.py\n #\tmain.py\n\ncommit fbd67a7bd4270786b29dc23e2d13d6b37\n[…]\nr abbreviation tracker\n\ncommit a67d9878bda45ad97ec7c4e46dcb27018776c0fb\nAuthor: Sergey Chikuyonok <serge.che@gmail.com>\nDate: Sun Sep 6 18:19:17 2020 +0300\n\n Experimenting with multicursor expand",
"is_bot": false,
"headline": "Support multicursor abbreviation expand",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-25T13:06:14Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "01a955255c1d2dc583f744869ce60b40e1f91173",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.21 → 2.1.22",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-13T15:11:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7934f555c793588eaaa3ca482016a33636e35caa",
"body": null,
"is_bot": false,
"headline": "Use activation scopes for abbreviation capturing",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-13T15:11:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "733c145c74830568012ba9a5a34c5c01f74a669e",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.20 → 2.1.21",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-11T11:24:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc5a4b5c323da13507f613be244f5fe18648241b",
"body": "Fixes #130",
"is_bot": false,
"headline": "Update to py-emmet@1.1.9",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-11T11:24:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88e2d9911aabaef97ed299b483a0a7ad93ea0a13",
"body": "Fixes #133",
"is_bot": false,
"headline": "Properly restore tracker on caret movement",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-10-11T11:10:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6cd1745b32069ca609c5d51653cde851250a588",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.19 → 2.1.20",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-20T09:35:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "22a8d91895de109d354db34a45b0b2520a2cfe1c",
"body": null,
"is_bot": false,
"headline": "Fixed abbreviation preview in explicit mode",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-20T09:35:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0e020758ccb485b7ccef60f0d91c82182229934f",
"body": "Closes #101",
"is_bot": false,
"headline": "Added CFML for into abbreviatoin scopes",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-19T16:59:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99ce1114bf733bc85de8a399841f2f3be922722b",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.18 → 2.1.19",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-19T16:49:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8fae69fef967dca4774c06a72382247ae8b9a5b",
"body": null,
"is_bot": false,
"headline": "Fixed #118",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-19T16:49:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "94c0df6fb5928d139eac7c60b5e1f69ab9dcf34c",
"body": "Fixes #124",
"is_bot": false,
"headline": "Handle embedded stylesheets in comment action",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-19T16:43:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a66e747d7cedbb7068ac3f4cffda494adc131d4b",
"body": "Fixes #119",
"is_bot": false,
"headline": "Imrpoved Wrap WIth Abbreviation behaviour",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-19T14:01:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4031677fe64e7065cb0cb92c712ee8e40099f456",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.17 → 2.1.18",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-14T14:22:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f6a129d5f5c2e2dac7a24a47757b957287938dca",
"body": "Fixes https://github.com/emmetio/sublime-text-plugin/issues/117",
"is_bot": false,
"headline": "Fixed abbreviaiton mode",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-14T14:22:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "562f2a63e60638bc91d2f91ad70318d432d3a5e6",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.16 → 2.1.17",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-06T15:34:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "963e31506e44032433634f5cab0beaafeedc6da7",
"body": "Closes #108",
"is_bot": false,
"headline": "Added explicit decrement action",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-06T15:34:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "de930da5763203dd694693c7c974aca4f91ddb5e",
"body": "Fixes #112",
"is_bot": false,
"headline": "Disable tag pairs search for JSX",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-06T15:21:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7031bb466740b02322a1172c9ea4b715746e1c53",
"body": null,
"is_bot": false,
"headline": "Multicursor support in Wrap with abbreviation",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-06T10:53:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8eefbca59d237334147c0f68bf95f91431776805",
"body": null,
"is_bot": false,
"headline": "Added FAQ for migration from v1",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-09-06T10:12:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "61dceeffba127ce7ab764b5f514b39cd5ec6b54b",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.15 → 2.1.16",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-30T10:35:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "55542bf3a3692dda3e7a63712ea85d1c67138397",
"body": "Fixes #62",
"is_bot": false,
"headline": "Escape $ characters before inserting into document",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-30T10:16:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1191b9356fd5cc68f5e6b00397a9645896aac2b",
"body": null,
"is_bot": false,
"headline": "Added Stylus to abbreviation activation scope",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-30T09:57:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b3395ce10003b3bd73b8004460317529512cbc9",
"body": null,
"is_bot": false,
"headline": "py-emmet@1.1.6",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-30T09:46:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5df433ff0e0cab23e19c61867908844d26451ece",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.14 → 2.1.15",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-28T14:08:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "33f873a05aa643d85da4b15262ba6b191da987d2",
"body": null,
"is_bot": false,
"headline": "Disabled auto_id_class by default",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-28T14:08:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b988dc8d393080608518efdff57335f0eb9af49a",
"body": null,
"is_bot": false,
"headline": "Fixed decrement stub",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-27T08:23:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e23ea8e188a6e60752338ba40d970501d7eb008",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.13 → 2.1.14",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-27T08:20:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1a8b0c314f1bb1dfb6bc89ea857fe6129d68730",
"body": null,
"is_bot": false,
"headline": "Added sample key bindings for Rename Tag",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-27T08:20:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "544353625894b87aefabf6f122880105345917d5",
"body": null,
"is_bot": false,
"headline": "Do not track invalid abbreviation",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-27T08:18:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f8ea7fc7bd4e2a5822902779b87b84d76106214b",
"body": null,
"is_bot": false,
"headline": "Support auto ID and CLASS attributes",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-27T08:11:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2234c3dc05c831297206fe4e2e6680116609321",
"body": null,
"is_bot": false,
"headline": "Added Rename Tag action",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-27T08:05:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8e61445e03b0450b966342531be6c3c273d2d57e",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.12 → 2.1.13",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-26T22:17:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2a183785b73f25759d2e005ff70109c53e663b61",
"body": null,
"is_bot": false,
"headline": "Try abbreviation extraction without look-ahead",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-26T22:07:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2b397df0ddf1c0ba92da5133d11466c3653ef8f3",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.11 → 2.1.12",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-26T09:00:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da4c0062f0084bb78b81b4acb71f9b8294dab434",
"body": null,
"is_bot": false,
"headline": "Multi-cursor support for Go To Edit Point action",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-26T09:00:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "42c792ef6237c37ffe526d161408963f8f80338d",
"body": "Fixes #75",
"is_bot": false,
"headline": "Updated JSX activation scope",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-26T08:48:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "540ceab5af4cf41db3823285f97b88a3e942e1f3",
"body": null,
"is_bot": false,
"headline": "Use tabs consistently in default settings file (#73)",
"author_name": "Rafał Chłodnicki",
"author_login": "rchl",
"committed_at": "2020-08-26T08:47:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12275053302de2914e4187d3f387a34155f5d74a",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.10 → 2.1.11",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-26T08:39:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b4a2f4d52415e1dd15886a4f804d4ac4f65e3c34",
"body": null,
"is_bot": false,
"headline": "Selection and multicursor support for Evaluate Math action",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-26T08:39:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40d722cece69117b35dce398f0f599fbec057cc8",
"body": null,
"is_bot": false,
"headline": "Fixed invalid line remove when incrementing number",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-26T08:19:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cabd37316ced6817ca3a4ba5b295a6d2693977d3",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.9 → 2.1.10",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-25T08:37:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f33d1ec1024d890c3dc5dd9b2b9ad7a13160bc9",
"body": "Properly handle indented selection",
"is_bot": false,
"headline": "Remember last abbreviation when wrapping",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-25T08:37:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e88b93274bbca9db9bb5015fd11349d000b8ad61",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.8 → 2.1.9",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T20:57:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "703b970e5dfa57e70b0764f36182f1825f6f58e3",
"body": null,
"is_bot": false,
"headline": "Fixed Update Image Size action for HTML",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T20:56:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0478de61c14bf9490627b6241fe0f993bcbba36e",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.7 → 2.1.8",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T20:50:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "090d024e76fbb04770378305b4b081ae0199d1fe",
"body": null,
"is_bot": false,
"headline": "Provide context for capturing abbreviation",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T20:50:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "166b68f113c3d843e96ba81a6305bb0d00a74db9",
"body": null,
"is_bot": false,
"headline": "Fixed abbreviation detection in XML",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T20:41:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdc0c39c09e24535a3bbb4a7855141ea7d3c7009",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.6 → 2.1.7",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T14:56:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70536344481167432700a86a650fb71fb058aeac",
"body": null,
"is_bot": false,
"headline": "py-emmet@1.1.5",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T14:54:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3148ed8e8f64a4920d087d25f22d09a935f5b7ec",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.5 → 2.1.6",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T14:28:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7912b56a8994163eef7b8119b60d2589cee400e5",
"body": null,
"is_bot": false,
"headline": "Improved abbreviation extraction for JS/JSX",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T14:27:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d263aa4a02c0b37aea7eb12d3bafa9e004f0b2c5",
"body": null,
"is_bot": false,
"headline": "Bump version: 2.1.4 → 2.1.5",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T14:07:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c9facf4f14275c0a51c96165e7fb68a02fdb2c7e",
"body": null,
"is_bot": false,
"headline": "Fixed issue with keymaps",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T14:07:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2b6fa20dc20f8be2101df5763028280e64547a2d",
"body": null,
"is_bot": false,
"headline": "Handle edge case for detecting abbreviation before tag",
"author_name": "Sergey Chikuyonok",
"author_login": "sergeche",
"committed_at": "2020-08-24T14:06:26Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 28,
"commits_last_year": 0,
"latest_release_at": "2020-08-11T20:07:11Z",
"latest_release_tag": "v2.0.2",
"releases_from_tags": false,
"days_since_last_push": 599,
"active_weeks_last_year": 0,
"days_since_latest_release": 2180,
"mean_days_between_releases": 3.9
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 37,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 28,
"stars": 265,
"watchers": 9,
"fork_history": {
"days": [
{
"date": "2019-10-31",
"count": 1
},
{
"date": "2020-01-09",
"count": 1
},
{
"date": "2020-04-15",
"count": 1
},
{
"date": "2020-04-20",
"count": 1
},
{
"date": "2020-04-26",
"count": 1
},
{
"date": "2020-08-11",
"count": 1
},
{
"date": "2020-09-02",
"count": 1
},
{
"date": "2020-09-20",
"count": 1
},
{
"date": "2021-01-13",
"count": 1
},
{
"date": "2021-02-16",
"count": 1
},
{
"date": "2021-03-01",
"count": 1
},
{
"date": "2021-03-07",
"count": 1
},
{
"date": "2021-03-17",
"count": 1
},
{
"date": "2021-04-06",
"count": 1
},
{
"date": "2021-04-14",
"count": 1
},
{
"date": "2021-06-14",
"count": 1
},
{
"date": "2021-06-25",
"count": 1
},
{
"date": "2021-09-18",
"count": 1
},
{
"date": "2021-09-19",
"count": 1
},
{
"date": "2022-02-07",
"count": 1
},
{
"date": "2022-09-21",
"count": 1
},
{
"date": "2022-10-24",
"count": 1
},
{
"date": "2022-12-19",
"count": 1
},
{
"date": "2022-12-20",
"count": 1
},
{
"date": "2023-06-06",
"count": 1
},
{
"date": "2023-12-28",
"count": 1
},
{
"date": "2024-04-18",
"count": 1
},
{
"date": "2024-10-26",
"count": 1
}
],
"complete": true,
"collected": 28,
"total_forks": 28
},
"star_history": null,
"open_issues_and_prs": 50
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 25852,
"source_files_sampled": 23,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"requirements.txt"
],
"advisories": {
"error": "No resolved dependencies carried a version and a supported ecosystem",
"scope": "repository_graph",
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 1,
"direct_affected_count": 0
},
"ecosystems": [
"pypi"
],
"dependencies": [],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "py-emmet",
"direct": false,
"version": null,
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 1,
"direct_count": 0,
"indirect_count": 1
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 8,
"open_issues": 50,
"closed_ratio": 0.728,
"closed_issues": 134,
"closed_unmerged_prs": 1
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "sergeche",
"commits": 327,
"avatar_url": "https://avatars.githubusercontent.com/u/93595?v=4"
},
{
"type": "User",
"login": "rchl",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/153197?v=4"
},
{
"type": "User",
"login": "davicho",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/1090555?v=4"
},
{
"type": "User",
"login": "felixcatto",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/6022888?v=4"
},
{
"type": "User",
"login": "Shakil-Shahadat",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/8978625?v=4"
},
{
"type": "User",
"login": "deathaxe",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/16542113?v=4"
}
],
"contributors_sampled": 6,
"top_contributor_share": 0.982
},
"quality_signals": {
"has_ci": true,
"has_tests": false,
"ci_workflows": [
"release.yml"
],
"has_docs_dir": false,
"linter_configs": [
".pylintrc"
],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 0,
"reason": "0 out of 4 merged PRs checked by a CI test -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 1,
"reason": "Found 4/30 approved changesets -- score normalized to 1",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 10,
"reason": "project has 3 contributing companies or organizations -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 10,
"reason": "0 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "bfe5399a0ea3faee006f909451dd679d1698785b",
"ran_at": "2026-08-01T10:14:25Z",
"aggregate_score": 3.1,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": null,
"oldest_open_prs": [],
"last_merged_pr_at": "2024-12-09T19:46:33Z",
"ci_last_conclusion": null,
"oldest_open_issues": [
{
"number": 3,
"created_at": "2019-11-25T19:13:39Z",
"last_comment_at": "2020-08-10T20:51:10Z",
"last_comment_author": "willrowe"
},
{
"number": 4,
"created_at": "2019-11-26T07:34:54Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 5,
"created_at": "2019-11-26T09:18:56Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 6,
"created_at": "2019-11-26T22:13:35Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 7,
"created_at": "2019-11-26T22:20:02Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 8,
"created_at": "2019-11-26T22:22:33Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 20,
"created_at": "2020-04-01T12:28:58Z",
"last_comment_at": "2020-10-18T15:05:37Z",
"last_comment_author": "luwes"
},
{
"number": 21,
"created_at": "2020-04-01T20:50:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 48,
"created_at": "2020-08-22T18:58:01Z",
"last_comment_at": "2020-11-07T13:39:04Z",
"last_comment_author": "andremacola"
},
{
"number": 65,
"created_at": "2020-08-24T21:00:31Z",
"last_comment_at": "2020-09-16T09:12:18Z",
"last_comment_author": "mylesduncanking"
},
{
"number": 69,
"created_at": "2020-08-25T03:10:41Z",
"last_comment_at": "2020-08-26T08:50:07Z",
"last_comment_author": "sergeche"
},
{
"number": 83,
"created_at": "2020-08-26T08:23:53Z",
"last_comment_at": "2020-10-21T10:04:18Z",
"last_comment_author": "rchl"
},
{
"number": 91,
"created_at": "2020-08-27T13:42:32Z",
"last_comment_at": "2020-08-28T14:08:59Z",
"last_comment_author": "sergeche"
},
{
"number": 93,
"created_at": "2020-08-27T19:13:46Z",
"last_comment_at": "2020-10-07T15:11:15Z",
"last_comment_author": "michaelalandawson"
},
{
"number": 97,
"created_at": "2020-08-30T11:53:37Z",
"last_comment_at": "2020-09-19T17:11:55Z",
"last_comment_author": "sergeche"
},
{
"number": 98,
"created_at": "2020-08-31T15:26:39Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 100,
"created_at": "2020-08-31T20:39:57Z",
"last_comment_at": "2020-10-15T22:06:17Z",
"last_comment_author": "sergeche"
},
{
"number": 102,
"created_at": "2020-09-01T12:34:21Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 105,
"created_at": "2020-09-01T21:19:16Z",
"last_comment_at": "2020-09-06T15:31:49Z",
"last_comment_author": "sergeche"
},
{
"number": 106,
"created_at": "2020-09-01T21:44:41Z",
"last_comment_at": "2020-09-06T15:30:06Z",
"last_comment_author": "sergeche"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/emmetio/sublime-text-plugin",
"host": "github.com",
"name": "sublime-text-plugin",
"owner": "emmetio"
},
"metrics": {
"overall": {
"key": "overall",
"band": "critical",
"name": "Overall health",
"note": "High-Risk Jurisdiction Policy applies a 20% multiplier to weighted overall health and gives it an At risk ceiling of 49.",
"notes": [
{
"code": "jurisdiction_overall_adjustment",
"params": {
"cap": 49,
"pct": 20
}
}
],
"value": 8,
"inputs": {
"security": 6,
"vitality": 22,
"community": 53,
"governance": 55,
"engineering": 50,
"high_risk_jurisdiction_cap": 49,
"high_risk_jurisdiction_multiplier": 20,
"weighted_overall_before_jurisdiction": 39,
"overall_after_jurisdiction_multiplier": 8
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "critical",
"name": "Vitality",
"value": 22,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"commits_last_year": 0,
"human_commit_share": 1,
"days_since_last_push": 599,
"active_weeks_last_year": 0
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 599 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "push_recency",
"params": {
"days": 599
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "0/52 weeks with commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 0
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "0 commits in the last year",
"points": 0,
"status": "missed",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 0
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "moderate",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"releases_count": 28,
"latest_release_tag": "v2.0.2",
"releases_from_tags": false,
"days_since_latest_release": 2180,
"mean_days_between_releases": 3.9
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "28 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 28
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 2180 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 2180
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~3.9 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 3.9
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "moderate",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"cap": 49,
"state": "likely_abandoned",
"guards": [],
"signals": [
"issue_rot",
"release_stall",
"scorecard_unmaintained"
],
"red_flag": true,
"multiplier_pct": 60,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": 0,
"unanswered_open_issues": 13,
"days_since_last_merged_pr": 600,
"days_since_last_human_commit": 600,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "no human commit for 600 days; 3 unmet obligation(s): issues unanswered, releases stalled, Scorecard reports it unmaintained",
"points": 60,
"status": "partial",
"details": [
{
"code": "abandonment_flagged",
"params": {
"days": 600,
"count": 3,
"signals": "issues unanswered, releases stalled, Scorecard reports it unmaintained"
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 53,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 56,
"inputs": {
"forks": 28,
"stars": 265,
"watchers": 9,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "265 stars",
"points": 39.3,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 265
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "28 forks",
"points": 11.9,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 28
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "9 watchers",
"points": 5,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 9
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 55,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 28,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 6,
"top_contributor_share": 0.982
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 98% of commits",
"points": 0.4,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 98
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "6 contributors",
"points": 8.1,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 6
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 3 contributing companies or organizations -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"merged_prs": 8,
"open_issues": 50,
"closed_issues": 134,
"issue_closed_ratio": 0.728,
"closed_unmerged_prs": 1
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "73% of issues closed",
"points": 34,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 73
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "8/9 decided PRs merged",
"points": 34,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 8,
"decided": 9
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 4/30 approved changesets -- score normalized to 1",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "good",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 71,
"inputs": {
"followers": 156,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "emmetio",
"public_repos": 65,
"account_age_days": 5093
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "156 followers of emmetio",
"points": 15.8,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 156,
"login": "emmetio"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "65 public repos, account ~13 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 65
}
},
{
"code": "account_age_years",
"params": {
"years": 13
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 50,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "at_risk",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 46,
"inputs": {
"has_ci": true,
"has_tests": false,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": ".pylintrc",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".pylintrc"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "0 out of 4 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": "https://emmet.io",
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://emmet.io",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "critical",
"name": "Security",
"value": 6,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "critical",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Packaging. Remaining weights renormalized. High-Risk Jurisdiction Policy applies a 20% multiplier to Security posture and gives it an At risk ceiling of 49.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"packaging"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "jurisdiction_posture_adjustment",
"params": {
"cap": 49,
"pct": 20
}
}
],
"value": 6,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 3.1,
"high_risk_jurisdiction_cap": 49,
"high_risk_jurisdiction_multiplier": 20,
"security_posture_after_multiplier": 6,
"security_posture_before_jurisdiction": 31
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "0 out of 4 merged PRs checked by a CI test -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 4/30 approved changesets -- score normalized to 1",
"points": 0.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 3 contributing companies or organizations -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "0 existing vulnerabilities detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "critical",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status. 1 match(es) from contributors below the commit-weight threshold (fewer than 50 commits and under 10% of sampled commits) are recorded for review and do not affect the score.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
},
{
"code": "jurisdiction_below_threshold",
"params": {
"count": 1
}
}
],
"value": 20,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": true,
"exposures": [
{
"role": "contributor_organization",
"count": 2,
"country": "Russia"
},
{
"role": "owner",
"count": 1,
"country": "Russia"
},
{
"role": "top_contributor",
"count": 1,
"country": "Russia"
}
],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [
{
"role": "top_contributor",
"count": 1,
"country": "Russia"
}
],
"assessed_self_published_locations": 10
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "Russia: contributor_organization (2); Russia: owner (1); Russia: top_contributor (1); 1 match(es) below the commit-weight threshold (<50 commits and <10% of commits), review-only",
"points": 20,
"status": "partial",
"details": [
{
"code": "jurisdiction_exposure",
"params": {
"role": "contributor_organization",
"count": 2,
"country": "Russia"
}
},
{
"code": "jurisdiction_exposure_next",
"params": {
"role": "owner",
"count": 1,
"country": "Russia"
}
},
{
"code": "jurisdiction_exposure_next",
"params": {
"role": "top_contributor",
"count": 1,
"country": "Russia"
}
},
{
"code": "jurisdiction_below_threshold",
"params": {
"count": 1,
"share": 10,
"commits": 50
}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "critical",
"name": "AI Readiness",
"value": 16,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 4,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.08,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "8 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 4.3,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 8,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "critical",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 11,
"inputs": {
"has_nix": false,
"has_tests": false,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": ".pylintrc",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".pylintrc"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "Python",
"largest_source_bytes": 25852,
"source_files_sampled": 23,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Python without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Python"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/23 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 23,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.14.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"No resolved dependencies carried a version and a supported ecosystem"
],
"report_type": "repository",
"generated_at": "2026-08-01T10:14:34.838115Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/e/emmetio/sublime-text-plugin.svg",
"full_name": "emmetio/sublime-text-plugin",
"license_state": "standard",
"license_spdx": "MIT"
}