{"id":15013997,"url":"https://github.com/puppetlabs/puppet-strings","last_synced_at":"2025-10-04T21:34:59.542Z","repository":{"id":19739071,"uuid":"22995610","full_name":"puppetlabs/puppet-strings","owner":"puppetlabs","description":"The next generation Puppet documentation extraction and presentation tool.","archived":false,"fork":false,"pushed_at":"2025-04-10T14:59:27.000Z","size":1467,"stargazers_count":90,"open_issues_count":21,"forks_count":86,"subscribers_count":36,"default_branch":"main","last_synced_at":"2025-05-13T19:03:41.970Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"http://puppetlabs.github.io/puppet-strings/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/puppetlabs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-08-15T16:26:44.000Z","updated_at":"2025-05-05T17:29:39.000Z","dependencies_parsed_at":"2023-10-13T09:55:53.981Z","dependency_job_id":"658fc76a-e685-4358-b129-6d4cae87fc65","html_url":"https://github.com/puppetlabs/puppet-strings","commit_stats":{"total_commits":657,"total_committers":75,"mean_commits":8.76,"dds":0.8508371385083714,"last_synced_commit":"a4be216146cc1d08ca415fed86171f1cdf440628"},"previous_names":["puppetlabs/puppetlabs-strings"],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppet-strings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppet-strings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppet-strings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppet-strings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/puppetlabs","download_url":"https://codeload.github.com/puppetlabs/puppet-strings/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254198452,"owners_count":22030964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest"],"created_at":"2024-09-24T19:45:02.868Z","updated_at":"2025-10-04T21:34:59.525Z","avatar_url":"https://github.com/puppetlabs.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Puppet strings\n\n[![ci](https://github.com/puppetlabs/puppet-strings/actions/workflows/ci.yml/badge.svg)](https://github.com/puppetlabs/puppet-strings/actions/workflows/ci.yml)\n[![Gem Version](https://badge.fury.io/rb/puppet-strings.svg)](https://badge.fury.io/rb/puppet-strings)\n[![Code Owners](https://img.shields.io/badge/owners-DevX--team-blue)](https://github.com/puppetlabs/puppet-strings/blob/main/CODEOWNERS)\n\nPuppet Strings generates documentation for Puppet code and extensions written in Puppet and Ruby.\nStrings processes code and YARD-style code comments to create documentation in HTML, Markdown, or JSON formats.\n\n## Installing Puppet Strings\n\n### Requirements\n\n* Ruby 3.1.0 or newer\n* Puppet 8.0.0 or newer\n\n### Install Puppet Strings\n\nInstallation instructions vary slightly depending on how you have installed Puppet:\n\n#### Installing Puppet Strings with [`puppet-agent`](https://puppet.com/docs/puppet/6.4/about_agent.html#what-puppet-agent-and-puppetserver-are) package\n\nInstall the `puppet-strings` gem into the `puppet-agent` environment:\n\n``` bash\nsudo /opt/puppetlabs/puppet/bin/gem install puppet-strings\n```\n\n#### Installing Puppet Strings with standalone `puppet` gem\n\nInstall the `puppet-strings` gem into the same Ruby installation where you have installed the `puppet` gem:\n\n``` bash\ngem install puppet-strings\n```\n\n### Configure Puppet Strings (Optional)\n\nTo use YARD options with Puppet Strings, specify a `.yardopts` file in the same directory in which you run `puppet strings`.\n\nPuppet Strings supports the Markdown format and automatically sets the YARD `markup` option to `markdown`.\n\nTo see a list of available YARD options, run `yard help doc`.\n\nFor details about YARD options configuration, see the [YARD docs](http://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md#config).\n\n## Generating documentation with Puppet Strings\n\nBy default, Puppet Strings outputs documentation as HTML, or you can specify JSON or Markdown output instead.\n\nStrings generates reference documentation based on the code and Strings code comments in all Puppet and\nRuby source files under the `./manifests/`, `./functions/`, `./lib/`, `./types/`, and `./tasks/` directories.\n\nStrings outputs HTML of the reference information and the module README to the module's `./doc/` directory. This output can be rendered in any browser.\n\nJSON and Markdown output include the reference documentation only.\nStrings sends JSON output to either STDOUT or to a file.\nMarkdown output is written to a REFERENCE.md file in the module's main directory.\n\nSee the [Puppet Strings documentation](https://puppet.com/docs/puppet/latest/puppet_strings.html) for complete instructions for generating documentation with Strings.\n\nFor code comment style guidelines and examples, see the [Puppet Strings style guide](https://puppet.com/docs/puppet/latest/puppet_strings_style.html).\n\n### Additional Resources\n\nHere are a few other good resources for getting started with documentation:\n\n* [Module README Template](https://puppet.com/docs/puppet/latest/puppet_strings.html)\n* [YARD Getting Started Guide](http://www.rubydoc.info/gems/yard/file/docs/GettingStarted.md)\n* [YARD Tags Overview](http://www.rubydoc.info/gems/yard/file/docs/Tags.md)\n\n## Developing and Contributing\n\nWe love contributions from the community!\n\nIf you'd like to contribute to `puppet-strings`, check out [CONTRIBUTING.md](https://github.com/puppetlabs/puppet-strings/blob/main/CONTRIBUTING.md) to get information on the contribution process.\n\n### Running Specs\n\nIf you plan on developing features or fixing bugs in Puppet Strings, it is essential that you run specs before opening a pull request.\n\nTo run specs, run the `spec` rake task:\n\n``` bash\nbundle install --path .bundle/gems\nbundle exec rake spec\n```\n\n### Running Acceptance Tests\n\nAcceptance tests can be executed with [puppet_litmus](https://github.com/puppetlabs/puppet_litmus).\n\nAn example of running the acceptance tests locally with Docker:\n\n1. Ensure [Docker](https://www.docker.com/products/docker-desktop) is installed and running.\n\n2. Install Ruby gems. This step can be skipped if you have already followed the [Running Specs](#running-specs) instructions.\n\n    ``` bash\n    bundle install --path .bundle/gems\n    ```\n\n3. Provision a docker container, in this case CentOS 7\n\n    ``` bash\n    bundle exec rake 'litmus:provision[docker, centos:7]'\n    ```\n\n4. Install test items; Puppet Agent, our test module, and the puppet-strings gem built from this source code\n\n    ``` bash\n    bundle exec rake 'litmus:install_agent[puppet8]'\n    bundle exec rake 'litmus:install_modules_from_directory[./spec/fixtures/acceptance/modules]'\n    bundle exec rake litmus:install_gems\n    ```\n\n5. Run the acceptance tests. These tests can be run more than once without the need to run the provisioning steps again\n\n    ``` bash\n    bundle exec rake litmus:acceptance:parallel\n    ```\n\n6. Remove any test containers\n\n    ``` bash\n    bundle exec rake litmus:tear_down\n    ```\n\n## License\n\nThis codebase is licensed under Apache 2.0. However, the open source dependencies included in this codebase might be subject to other software licenses such as AGPL, GPL2.0, and MIT.\n\n## Support\n\nPlease log issues in [GitHub issues](https://github.com/puppetlabs/puppet-strings/issues).\nCheck out [CONTRIBUTING.md](https://github.com/puppetlabs/puppet-strings/blob/main/CONTRIBUTING.md) for tips on writing _the best_ issues.\n\nThere is also an active community on the [Puppet community Slack](https://puppetcommunity.slack.com) in the #forge-modules channel.\n\nWe use semantic version numbers for our releases and recommend that users upgrade to patch releases and minor releases as they become available.\n\nBug fixes and ongoing development will occur in minor releases for the current major version.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuppetlabs%2Fpuppet-strings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpuppetlabs%2Fpuppet-strings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuppetlabs%2Fpuppet-strings/lists"}