{"id":15103306,"url":"https://github.com/smoeding/tree-sitter-puppet","last_synced_at":"2025-07-22T14:33:35.872Z","repository":{"id":235117649,"uuid":"789297742","full_name":"smoeding/tree-sitter-puppet","owner":"smoeding","description":"Tree-sitter grammar for the Puppet language","archived":false,"fork":false,"pushed_at":"2025-07-13T10:17:22.000Z","size":2232,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-13T12:28:43.854Z","etag":null,"topics":["puppet","tree-sitter"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smoeding.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-20T06:52:48.000Z","updated_at":"2025-07-13T10:17:26.000Z","dependencies_parsed_at":"2024-06-20T06:09:26.623Z","dependency_job_id":"fb962ced-016b-46b7-a1c4-9c04677efe3b","html_url":"https://github.com/smoeding/tree-sitter-puppet","commit_stats":{"total_commits":78,"total_committers":1,"mean_commits":78.0,"dds":0.0,"last_synced_commit":"dd6e3db7dafa9a8c3907951ec6b4cf8137d151cc"},"previous_names":["smoeding/tree-sitter-puppet"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/smoeding/tree-sitter-puppet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Ftree-sitter-puppet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Ftree-sitter-puppet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Ftree-sitter-puppet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Ftree-sitter-puppet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smoeding","download_url":"https://codeload.github.com/smoeding/tree-sitter-puppet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smoeding%2Ftree-sitter-puppet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266510645,"owners_count":23940685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["puppet","tree-sitter"],"created_at":"2024-09-25T19:23:19.875Z","updated_at":"2025-07-22T14:33:35.846Z","avatar_url":"https://github.com/smoeding.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Tree-sitter grammar for the Puppet DSL\n\n[![License](https://img.shields.io/github/license/smoeding/tree-sitter-puppet.svg)](https://raw.githubusercontent.com/smoeding/tree-sitter-puppet/master/LICENSE)\n[![Build Status](https://github.com/smoeding/tree-sitter-puppet/actions/workflows/ci.yaml/badge.svg)](https://github.com/smoeding/tree-sitter-puppet/actions/workflows/ci.yaml)\n\nA Tree-sitter grammar for the [Puppet](https://www.puppet.com) language.\n\nThis grammar and the corresponding scanner have been developed following the structure of the original RACC grammar used by Puppet (see `lib/puppet/pops/parser/egrammar.ra` in the Puppet source code). Therefore this grammar should cover the complete set of Puppet's language features.\n\nThe grammar has been successfully tested using almost 100000 lines of code in more than 1500 files of real world Puppet code. This includes Puppet modules written by myself and popular modules by Puppetlabs and Vox Pupuli (e.g. `apache`, `apt`, `docker`, `firewall`, `nginx`, `ntp`, `php`, `postgresql`, `stdlib`, ...).\n\nThis parser is used for my [Emacs major mode with tree-sitter support for Puppet manifests](https://github.com/smoeding/puppet-ts-mode).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmoeding%2Ftree-sitter-puppet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmoeding%2Ftree-sitter-puppet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmoeding%2Ftree-sitter-puppet/lists"}