An open API service providing repository metadata for many open source software ecosystems.

GitHub / arduino / arduino-language-server

An Arduino Language Server based on Clangd to Arduino code autocompletion

JSON API: http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arduino%2Farduino-language-server
PURL: pkg:github/arduino/arduino-language-server

Stars: 166
Forks: 19
Open issues: 36

License: agpl-3.0
Language: Go
Size: 891 KB
Dependencies parsed at: Pending

Created at: over 6 years ago
Updated at: about 1 month ago
Pushed at: about 1 month ago
Last synced at: about 1 month ago

Commit Stats

Commits: 378
Authors: 17
Mean commits per author: 22.24
Development Distribution Score: 0.32
More commit stats: https://commits.ecosyste.ms/hosts/GitHub/repositories/arduino/arduino-language-server

Topics: arduino, language-server

Funding Links https://github.com/sponsors/arduino, https://www.arduino.cc/en/Main/Donate

OpenSSF Scorecard report

4.5

Overall Score

10/10 Critical Risk
25/60 High Risk
10/40 Medium Risk
10/20 Low Risk
Generated on August 11, 2025 | Scorecard vv5.2.1-40-gf6ed084d
Security Checks
10/10
Binary-Artifacts
High Risk

no binaries found in the repo

Determines if the project has generated executable (binary) artifacts in the source repository.

10/10
Dangerous-Workflow
Critical Risk

no dangerous workflow patterns detected

Determines if the project's GitHub Action workflows avoid dangerous patterns.

10/10
License
Low Risk

license file detected

Determines if the project has defined a license.

Show details
ℹ️ Info: project has a license file: LICENSE.txt:0
ℹ️ Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE.txt:0
10/10
Security-Policy
Medium Risk

security policy file detected

Determines if the project has published a security policy.

Show details
ℹ️ Info: security policy file detected: github.com/arduino/.github/SECURITY.md:1
ℹ️ Info: Found linked content: github.com/arduino/.github/SECURITY.md:1
ℹ️ Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/arduino/.github/SECURITY.md:1
ℹ️ Info: Found text in security policy: github.com/arduino/.github/SECURITY.md:1
8/10
Code-Review
High Risk

Found 6/7 approved changesets -- score normalized to 8

Determines if the project requires human code review before pull requests (aka merge requests) are merged.

4/10
Vulnerabilities
High Risk

6 existing vulnerabilities detected

Determines if the project has open, known unfixed vulnerabilities.

Show details
⚠️ Warn: Project is vulnerable to: GO-2024-3333
⚠️ Warn: Project is vulnerable to: GO-2025-3503 / GHSA-qxp5-gwg8-xv66
⚠️ Warn: Project is vulnerable to: GO-2025-3595 / GHSA-vvgc-356p-c3xw
⚠️ Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw
⚠️ Warn: Project is vulnerable to: GHSA-8gh8-hqwg-xf34
⚠️ Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h
3/10
Maintained
High Risk

4 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 3

Determines if the project is "actively maintained".

0/10
CII-Best-Practices
Low Risk

no effort to earn an OpenSSF best practices badge detected

Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.

0/10
Fuzzing
Medium Risk

project is not fuzzed

Determines if the project uses fuzzing.

Show details
⚠️ Warn: no fuzzer integrations found
0/10
Pinned-Dependencies
Medium Risk

dependency not pinned by hash detected -- score normalized to 0

Determines if the project has declared and pinned the dependencies of its build process.

Show details
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/build.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/build.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:64: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/build.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build.yml:81: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/build.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/build.yml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/build.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-dependencies-task.yml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-dependencies-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-go-dependencies-task.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-dependencies-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-go-dependencies-task.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-dependencies-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-dependencies-task.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-dependencies-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-go-dependencies-task.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-dependencies-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-dependencies-task.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-dependencies-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-dependencies-task.yml:125: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-dependencies-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-go-dependencies-task.yml:131: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-dependencies-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-go-dependencies-task.yml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-dependencies-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-dependencies-task.yml:142: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-dependencies-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-go-dependencies-task.yml:147: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-dependencies-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:106: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:111: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:139: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:142: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:147: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:175: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:178: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:183: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:211: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-go-task.yml:214: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-license.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-license.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-license.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-license.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-markdown-task.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-markdown-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-markdown-task.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-markdown-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-markdown-task.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-markdown-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-markdown-task.yml:83: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-markdown-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-markdown-task.yml:98: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-markdown-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-markdown-task.yml:101: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-markdown-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-markdown-task.yml:106: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-markdown-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-taskfiles.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-taskfiles.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/check-taskfiles.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-taskfiles.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/check-taskfiles.yml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/check-taskfiles.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-go-task.yml:107: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/release-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-go-task.yml:110: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/release-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-go-task.yml:184: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/release-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-go-task.yml:201: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/release-go-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-go-task.yml:231: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/release-go-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-go-task.yml:242: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/release-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-go-task.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/release-go-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-go-task.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/release-go-task.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/release-go-task.yml:62: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/release-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release-go-task.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/release-go-task.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync-labels.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/sync-labels.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/sync-labels.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/sync-labels.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/sync-labels.yml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/sync-labels.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync-labels.yml:74: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/sync-labels.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync-labels.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/sync-labels.yml/main?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/sync-labels.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/sync-labels.yml/main?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/sync-labels.yml:119: update your workflow using https://app.stepsecurity.io/secureworkflow/arduino/arduino-language-server/sync-labels.yml/main?enable=pin
⚠️ Warn: goCommand not pinned by hash: .github/workflows/check-go-task.yml:154
⚠️ Warn: npmCommand not pinned by hash: .github/workflows/check-taskfiles.yml:88
⚠️ Warn: npmCommand not pinned by hash: .github/workflows/sync-labels.yml:131
⚠️ Warn: npmCommand not pinned by hash: .github/workflows/sync-labels.yml:41
ℹ️ Info: 0 out of 36 GitHub-owned GitHubAction dependencies pinned
ℹ️ Info: 0 out of 23 third-party GitHubAction dependencies pinned
ℹ️ Info: 0 out of 1 goCommand dependencies pinned
ℹ️ Info: 0 out of 3 npmCommand dependencies pinned
0/10
SAST
Medium Risk

SAST tool is not run on all commits -- score normalized to 0

Determines if the project uses static code analysis.

Show details
⚠️ Warn: 0 commits out of 30 are checked with a SAST tool
0/10
Signed-Releases
High Risk

Project has not signed or included provenance with any releases.

Determines if the project cryptographically signs release artifacts.

Show details
⚠️ Warn: release artifact 0.7.7 not signed: https://api.github.com/repos/arduino/arduino-language-server/releases/206799195
⚠️ Warn: release artifact 0.7.6 not signed: https://api.github.com/repos/arduino/arduino-language-server/releases/140100678
⚠️ Warn: release artifact 0.7.5 not signed: https://api.github.com/repos/arduino/arduino-language-server/releases/117618809
⚠️ Warn: release artifact 0.7.4 not signed: https://api.github.com/repos/arduino/arduino-language-server/releases/88606076
⚠️ Warn: release artifact 0.7.3 not signed: https://api.github.com/repos/arduino/arduino-language-server/releases/88426850
⚠️ Warn: release artifact 0.7.7 does not have provenance: https://api.github.com/repos/arduino/arduino-language-server/releases/206799195
⚠️ Warn: release artifact 0.7.6 does not have provenance: https://api.github.com/repos/arduino/arduino-language-server/releases/140100678
⚠️ Warn: release artifact 0.7.5 does not have provenance: https://api.github.com/repos/arduino/arduino-language-server/releases/117618809
⚠️ Warn: release artifact 0.7.4 does not have provenance: https://api.github.com/repos/arduino/arduino-language-server/releases/88606076
⚠️ Warn: release artifact 0.7.3 does not have provenance: https://api.github.com/repos/arduino/arduino-language-server/releases/88426850
0/10
Token-Permissions
High Risk

detected GitHub workflow tokens with excessive permissions

Determines if the project's workflows follow the principle of least privilege.

Show details
⚠️ Warn: jobLevel 'contents' permission set to 'write': .github/workflows/build.yml:77
⚠️ Warn: jobLevel 'contents' permission set to 'write': .github/workflows/release-go-task.yml:196
⚠️ Warn: no topLevel permission defined: .github/workflows/build.yml:1
⚠️ Warn: no topLevel permission defined: .github/workflows/check-go-dependencies-task.yml:1
⚠️ Warn: no topLevel permission defined: .github/workflows/check-go-task.yml:1
⚠️ Warn: no topLevel permission defined: .github/workflows/check-license.yml:1
⚠️ Warn: no topLevel permission defined: .github/workflows/check-markdown-task.yml:1
⚠️ Warn: no topLevel permission defined: .github/workflows/check-taskfiles.yml:1
⚠️ Warn: no topLevel permission defined: .github/workflows/release-go-task.yml:1
⚠️ Warn: no topLevel permission defined: .github/workflows/sync-labels.yml:1
N/A
Branch-Protection
Not Applicable

internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration

Determines if the default and release branches are protected with GitHub's branch protection settings.

N/A
Packaging
Not Applicable

packaging workflow not detected

Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.

Show details
⚠️ Warn: no GitHub/GitLab publishing workflow detected.