Informe JSON sin procesar legible por máquina
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 251,
"has_wiki": true,
"homepage": null,
"languages": {
"Go": 162153
},
"pushed_at": "2026-07-19T00:58:58Z",
"created_at": "2026-04-19T19:01:08Z",
"owner_type": "User",
"updated_at": "2026-07-19T00:59:02Z",
"description": "Unified MCP task aggregator for Linear and Taiga. Multi-workspace tasks, Linear docs CRUD, interactive config CLI.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Go",
"significant_languages": [
"Go"
]
},
"owner": {
"blog": "https://gabriel-porfolio.vercel.app/",
"name": "Gabriel Funes",
"type": "User",
"login": "Gabriel100201",
"company": null,
"location": "San Juan - Argentina",
"followers": 16,
"avatar_url": "https://avatars.githubusercontent.com/u/112188445?v=4",
"created_at": "2022-08-26T15:02:13Z",
"is_verified": null,
"public_repos": 58,
"account_age_days": 1426
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2026-07-17T14:35:21Z"
},
{
"tag": "edge",
"kind": "other",
"published_at": "2026-07-19T01:00:40Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2026-06-10T14:17:30Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2026-04-19T19:07:44Z"
}
],
"recent_commits": [
{
"oid": "6d391903987f4a5e8bb57e126ccfe78e409cfc6e",
"body": "…abels, comments\n\nBring the Linear provider to practical parity with Linear's issue editing.\nPreviously tasks_update only handled title/description/state (by UUID)/priority.\n\ntasks_update / tasks_create now accept (Linear, by name with UUID fallback;\n\"none\" clears a field):\n- state (by name, no more\n[…]\ned-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_018GJishqLZ2MWGsJVq9soLh\n(cherry picked from commit bac4654132adc58a205dbb984d39fbd7f7620710)",
"is_bot": false,
"headline": "feat(linear): full task actions — state by name, assignee, project, l…",
"author_name": "yendoeventos-dev",
"author_login": "yendoeventos-dev",
"committed_at": "2026-07-19T00:58:47Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0bc286dd49d49170b0d936069ae980c6237e44dd",
"body": null,
"is_bot": false,
"headline": "chore: prepare v0.2.0 release",
"author_name": "Gabriel",
"author_login": "Gabriel100201",
"committed_at": "2026-07-17T14:29:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b1f78027a00235b9614f11f31c676e541afd0c8a",
"body": "feat: add OpenProject provider",
"is_bot": false,
"headline": "Merge pull request #9 from nahugomez/feat/openproject-provider",
"author_name": "Gabriel Funes",
"author_login": "Gabriel100201",
"committed_at": "2026-07-17T14:23:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b4206790fe95140f3cfdff1de3f1d56a1cd406ff",
"body": "ListProjects issued a single request with a fixed pageSize=100 and never\nread the collection total, so instances with more than 100 projects lost\nthe rest. That cascaded into resolveProjectID, which then failed to find\nany project past the first page, breaking tasks_create and project-filtered\ntasks_list. Use the same offset-based pagination as ListTasks.",
"is_bot": false,
"headline": "fix(openproject): paginate ListProjects",
"author_name": "Gabriel",
"author_login": "Gabriel100201",
"committed_at": "2026-07-17T14:19:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "005cce66c73066e9ef58d099b33dedf5cd758f8b",
"body": "A nil filters slice marshals to null, not [], so tasks_list with state=all\nand no project/assignee filter sent filters=null on the URL, which OpenProject\nanswers with HTTP 500. Only append the query param when at least one filter\nis present.",
"is_bot": false,
"headline": "fix(openproject): omit filters param when empty to avoid HTTP 500",
"author_name": "Gabriel",
"author_login": "Gabriel100201",
"committed_at": "2026-07-17T14:19:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dfdf9b92af409d9418f8b2036c728f95db5a2126",
"body": "Add an OpenProject provider that implements the Provider interface against\nthe OpenProject REST API v3 (HAL+JSON), authenticated with an API token via\nHTTP Basic auth (\"apikey\" user). All seven task tools work against it; work\npackages are addressed as <provider>:wp:<id>. Documents are unsupported.\n\n[…]\nuctions, the interactive CLI (config add/list/test), and the docs\n(README, CHANGELOG, ROADMAP, CONTRIBUTING, config.example.yaml).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(provider): add OpenProject integration",
"author_name": "Nahuel Gomez",
"author_login": "nahugomez",
"committed_at": "2026-06-10T20:07:01Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c2eb95c3ad35cf0d9a5142724544aace2d954c9b",
"body": "docs: add ROADMAP.md",
"is_bot": false,
"headline": "Merge pull request #7 from Gabriel100201/docs/roadmap",
"author_name": "Gabriel Funes",
"author_login": "Gabriel100201",
"committed_at": "2026-06-10T15:37:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c982834145b9205d268628535139e78f51005955",
"body": null,
"is_bot": false,
"headline": "docs: add ROADMAP.md with web UI, export, and provider items",
"author_name": "Gabriel",
"author_login": "Gabriel100201",
"committed_at": "2026-06-10T15:35:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a743d125bbac0d9ca8b182aa511e30b2f6156353",
"body": "ci: publish edge pre-release on every push to main",
"is_bot": false,
"headline": "Merge pull request #2 from Gabriel100201/feat/edge-release",
"author_name": "Gabriel Funes",
"author_login": "Gabriel100201",
"committed_at": "2026-06-10T14:25:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2892f7b0c45c5ac77ae60d8a34df7ddc654cd3aa",
"body": "After all build matrix jobs pass, a new publish-edge job runs GoReleaser\nin snapshot mode and creates/updates a GitHub pre-release tagged 'edge'.\n\nThis gives a always-fresh binary without requiring a manual tag.\nSnapshot version format: v0.x.y-edge+<shortcommit>",
"is_bot": false,
"headline": "ci: publish edge pre-release on every push to main",
"author_name": "Gabriel",
"author_login": "Gabriel100201",
"committed_at": "2026-06-10T14:23:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea3eb7741bcf57424abb0fcdbf1bd69717c581f0",
"body": "…xity\n\nfix: replace ListProjects with Ping for connection validation",
"is_bot": false,
"headline": "Merge pull request #1 from Gabriel100201/fix/linear-validation-comple…",
"author_name": "Gabriel Funes",
"author_login": "Gabriel100201",
"committed_at": "2026-06-10T14:02:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "65839774c54e5bec991b0093ecc5e78b4a60cb2e",
"body": "Linear's ListProjects query hits ~12k complexity (teams + projects\nwith nested fields), exceeding the 10k API limit on large workspaces.\n\nAdd a minimal Ping method to the Provider interface:\n- Linear: uses { viewer { id } }, complexity ~1\n- Taiga: delegates to ensureAuth (existing lightweight call)\n\nvalidateProvider now calls Ping instead of ListProjects.",
"is_bot": false,
"headline": "fix: replace ListProjects with Ping for connection validation",
"author_name": "Gabriel",
"author_login": "Gabriel100201",
"committed_at": "2026-06-10T13:52:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "558f4e6a2bba93d98ee1d09eb3818f76fa452952",
"body": "Al obtener el detalle de una user story de Taiga, ahora se consultan\nsus tareas hijas via GET /api/v1/tasks?user_story=<id> y se muestran\nen una seccion \"Subtasks\" con estado y asignado. Antes tasks_get sobre\nuna US solo devolvia la US y sus comentarios, sin forma de ver su\ndesglose de tareas.\n\n- pr\n[…]\nAssignee\n- taiga: pobla Assignee en toTask y fetchea subtareas en GetTask(us)\n- mcp: renderiza tabla de subtasks en handleTasksGet\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(taiga): incluir subtareas de una user story en tasks_get",
"author_name": "yendoeventos-dev",
"author_login": "yendoeventos-dev",
"committed_at": "2026-06-04T02:00:34Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "519fbd441608b315536bdd649d1e470a077bfaa9",
"body": "…der GraphQL complexity cap\n\nNesting teams(first: 100).projects(first: 100) pushed complexity to ~60k,\nwell above Linear's 10k ceiling and caused the endpoint to reject the\nrequest with \"Query too complex\". Query teams and projects at the root,\nand pull the parent team name via a sub-selection on projects.teams(first: 1).",
"is_bot": false,
"headline": "fix(linear): split ListProjects into two top-level queries to stay un…",
"author_name": "yendoeventos-dev",
"author_login": "yendoeventos-dev",
"committed_at": "2026-04-19T19:48:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46ca9b3e33eef272daa1b8823fd58be7c37392e5",
"body": "…arget date, progress\n\nLinear's ListProjects now fetches status, health, priority, lead, startDate,\ntargetDate, progress and URL for every project inside each team. The\ntasks_projects MCP tool renders a richer Portfolio-style table and accepts\nan optional kind filter (team | project | all) to split Teams from Projects\nor return a unified view.",
"is_bot": false,
"headline": "feat(projects): enrich Linear projects with health, priority, lead, t…",
"author_name": "yendoeventos-dev",
"author_login": "yendoeventos-dev",
"committed_at": "2026-04-19T19:43:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e84efbddac19fcff5d40ec6cfdb6b5219867908e",
"body": "Puts install → add workspace → connect to agent right after the features\nlist so new users don't have to hunt across sections. Uses `go install\n@latest` as the primary path (no hardcoded version) and links back to the\nfull Install section for binary downloads and checksum verification.",
"is_bot": false,
"headline": "docs(readme): add Quick start section with 3-step onboarding",
"author_name": "yendoeventos-dev",
"author_login": "yendoeventos-dev",
"committed_at": "2026-04-19T19:19:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a84a7b189471d430991c61bc591757bd8dcb05c5",
"body": "- CONTRIBUTING.md: development setup, project layout, commit convention,\n PR flow, guides for adding MCP tools and new providers\n- RELEASING.md: semver policy, pre-release checklist, tag-based release\n flow, recovery procedure for broken releases\n- Issue templates for bug reports and feature requests\n- PR template with a contributor checklist\n- README links to CONTRIBUTING and RELEASING",
"is_bot": false,
"headline": "docs: add contributing and release guides + issue/PR templates",
"author_name": "yendoeventos-dev",
"author_login": "yendoeventos-dev",
"committed_at": "2026-04-19T19:12:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "14f19638ab9e18f7dc06b07454cbf60f840e5ca9",
"body": "- .goreleaser.yml builds Linux/macOS/Windows (amd64+arm64) on tag push\n- CI workflow runs go vet + go build on Linux, macOS, and Windows for every PR\n- CHANGELOG documents the 0.1.0 feature set\n- README gets release/CI/license badges and an install-from-release section",
"is_bot": false,
"headline": "ci: add GoReleaser workflow, CI matrix build, and CHANGELOG",
"author_name": "yendoeventos-dev",
"author_login": "yendoeventos-dev",
"committed_at": "2026-04-19T19:04:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d9225aedaf7a57bb3b76668ba6ca439072d38085",
"body": "Unified MCP task aggregator for Linear and Taiga with Linear Documents CRUD\nand interactive CLI for provider management.",
"is_bot": false,
"headline": "feat: initial public release",
"author_name": "yendoeventos-dev",
"author_login": "yendoeventos-dev",
"committed_at": "2026-04-19T19:01:00Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 4,
"commits_last_year": 19,
"latest_release_at": "2026-07-17T14:35:21Z",
"latest_release_tag": "v0.2.0",
"releases_from_tags": false,
"days_since_last_push": 4,
"active_weeks_last_year": 3,
"days_since_latest_release": 6,
"mean_days_between_releases": 29.6
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 71,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "github.com/Gabriel100201/tablero",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/Gabriel100201/tablero",
"is_deprecated": false,
"latest_version": "v0.2.0",
"repository_url": "https://github.com/Gabriel100201/tablero",
"versions_count": 3,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-17T14:29:33Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
}
]
},
"popularity": {
"forks": 1,
"stars": 1,
"watchers": 0,
"fork_history": {
"days": [
{
"date": "2026-06-10",
"count": 1
}
],
"complete": true,
"collected": 1,
"total_forks": 1
},
"star_history": null,
"open_issues_and_prs": 5
},
"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": [
"go.mod"
],
"largest_source_bytes": 40034,
"source_files_sampled": 10,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": null,
"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": 0,
"direct_affected_count": 0
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "github.com/mark3labs/mcp-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.47.0"
},
{
"name": "gopkg.in/yaml.v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.0.1"
}
],
"all_dependencies": {
"error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 1,
"merged_prs": 4,
"open_issues": 4,
"closed_ratio": 0,
"closed_issues": 0,
"closed_unmerged_prs": 0
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "Gabriel100201",
"commits": 10,
"avatar_url": "https://avatars.githubusercontent.com/u/112188445?v=4"
},
{
"type": "User",
"login": "yendoeventos-dev",
"commits": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/247864307?v=4"
},
{
"type": "User",
"login": "nahugomez",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/98051022?v=4"
}
],
"contributors_sampled": 3,
"top_contributor_share": 0.526
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"release.yml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"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": 7,
"reason": "3 out of 4 merged PRs checked by a CI test -- score normalized to 7",
"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": 0,
"reason": "Found 1/13 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 0,
"reason": "project has 0 contributing companies or organizations -- score normalized to 0",
"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": 10,
"reason": "13 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow 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": 9,
"reason": "1 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "6d391903987f4a5e8bb57e126ccfe78e409cfc6e",
"ran_at": "2026-07-23T14:41:59Z",
"aggregate_score": 3.9,
"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": "2026-07-19T01:00:43Z",
"oldest_open_prs": [
{
"number": 8,
"created_at": "2026-06-10T15:41:09Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-17T14:23:34Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 3,
"created_at": "2026-06-10T15:34:28Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 4,
"created_at": "2026-06-10T15:34:46Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 5,
"created_at": "2026-06-10T15:35:05Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 6,
"created_at": "2026-06-10T15:35:07Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/Gabriel100201/tablero",
"host": "github.com",
"name": "tablero",
"owner": "Gabriel100201"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 51,
"inputs": {
"security": 39,
"vitality": 72,
"community": 36,
"governance": 47,
"engineering": 57
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 72,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"commits_last_year": 19,
"human_commit_share": null,
"days_since_last_push": 4,
"active_weeks_last_year": 3
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 4 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 4
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "3/52 weeks with commits",
"points": 2.1,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 3
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "19 commits in the last year",
"points": 11.7,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 19
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "13 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 4,
"latest_release_tag": "v0.2.0",
"releases_from_tags": false,
"days_since_latest_release": 6,
"mean_days_between_releases": 29.6
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "4 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 4
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 6 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 6
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~29.6 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 29.6
}
}
],
"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": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "unverified",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": "repository_too_young",
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": null,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "maintenance record not established from the collected data",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_unverified",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 36,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"forks": 1,
"stars": 1,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 1
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "1 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 1
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 77,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": true
},
"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": 18,
"status": "met",
"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": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "at_risk",
"name": "Sustainability & Governance",
"value": 47,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 24,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 3,
"top_contributor_share": 0.526
},
"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 53% of commits",
"points": 10.7,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 53
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "3 contributors",
"points": 4.1,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 3
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "at_risk",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 38,
"inputs": {
"merged_prs": 4,
"open_issues": 4,
"closed_issues": 0,
"issue_closed_ratio": 0,
"closed_unmerged_prs": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "0% of issues closed",
"points": 0,
"status": "missed",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 0
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "4/4 decided PRs merged",
"points": 38.2,
"status": "met",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 4,
"decided": 4
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 1/13 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "at_risk",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 49,
"inputs": {
"followers": 16,
"owner_type": "User",
"is_verified": null,
"owner_login": "Gabriel100201",
"public_repos": 58,
"account_age_days": 1426
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "16 followers of Gabriel100201",
"points": 8.8,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 16,
"login": "Gabriel100201"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "58 public repos, account ~3 yr old",
"points": 20.7,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 58
}
},
{
"code": "account_age_years",
"params": {
"years": 3
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"packages": [
"github.com/Gabriel100201/tablero"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 6
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on go",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "go"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 6 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 6
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "3 published versions",
"points": 12,
"status": "partial",
"details": [
{
"code": "published_versions",
"params": {
"count": 3
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 57,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "2 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 2
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"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": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "3 out of 4 merged PRs checked by a CI test -- score normalized to 7",
"points": 14,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": null,
"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": null,
"points": 0,
"status": "missed",
"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": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 39,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": null,
"notes": [],
"value": 39,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 18,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 0,
"scorecard_aggregate": 3.9
},
"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": "3 out of 4 merged PRs checked by a CI test -- score normalized to 7",
"points": 1.8,
"status": "partial",
"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 1/13 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"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": "13 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"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": "1 existing vulnerabilities detected",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"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.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 3
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"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": "moderate",
"name": "AI Readiness",
"value": 50,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": "Excluded from scoring (no data or not applicable): Legible commit history. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"legible_commit_history"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"has_llms_txt": false,
"legible_history_share": null,
"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": "no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": "Excluded from scoring (no data or not applicable): Demonstrated agent practice, Automated maintenance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"demonstrated_agent_practice",
"automated_maintenance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 68,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": null,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": null
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "go.mod (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "go.mod"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Go (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"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": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 40034,
"source_files_sampled": 10,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Go (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/10 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 10,
"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.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
],
"report_type": "repository",
"generated_at": "2026-07-23T14:42:09.039553Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/g/Gabriel100201/tablero.svg",
"full_name": "Gabriel100201/tablero",
"license_state": "standard",
"license_spdx": "MIT"
}