[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-8048":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":16,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":16,"starSnapshotCount":16,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},8048,"prmd","interagent\u002Fprmd","interagent","JSON Schema tools and doc generation for HTTP APIs","",null,"Ruby",2092,169,51,70,0,28.69,"MIT License",false,"main",true,[],"2026-06-12 02:01:48","# Prmd\n\n[![Gem Version](https:\u002F\u002Fbadge.fury.io\u002Frb\u002Fprmd.svg)](http:\u002F\u002Fbadge.fury.io\u002Frb\u002Fprmd)\n\nJSON Schema tooling: scaffold, verify, and generate documentation\nfrom JSON Schema documents.\n\n\n## Introduction\n\n[JSON Schema](http:\u002F\u002Fjson-schema.org\u002F) provides a great way to describe\nan API. prmd provides tools for bootstrapping a description like this,\nverifying its completeness, and generating documentation from the\nspecification.\n\nTo learn more about JSON Schema in general, start with\n[this excellent guide](http:\u002F\u002Fspacetelescope.github.io\u002Funderstanding-json-schema\u002F)\nand supplement with the [specification](http:\u002F\u002Fjson-schema.org\u002Fdocumentation.html).\nThe JSON Schema usage conventions expected by prmd specifically are\ndescribed in [\u002Fdocs\u002Fschemata.md](\u002Fdocs\u002Fschemata.md).\n\n## Installation\n\nInstall the command-line tool with:\n\n```bash\n$ gem install prmd\n```\n\nIf you're using prmd within a Ruby project, you may want to add it\nto the application's Gemfile:\n\n```ruby\ngem 'prmd'\n```\n\n```bash\n$ bundle install\n```\n\n## Usage\n\nPrmd provides four main commands:\n\n* `init`: Scaffold resource schemata\n* `combine`: Combine schemata and metadata into single schema\n* `verify`: Verify a schema\n* `doc`: Generate documentation from a schema\n* `render`: Render views from schema\n\nHere's an example of using these commands in a typical workflow:\n\n```bash\n# Fill out the resource schemata\n$ mkdir -p schemata\n$ prmd init app  > schemata\u002Fapp.json\n$ prmd init user > schemata\u002Fuser.json\n$ vim schemata\u002F{app,user}.json   # edit scaffolded files\n\n# Provide top-level metadata\n$ cat \u003C\u003CEOF > meta.json\n{\n \"description\": \"Hello world prmd API\",\n \"id\": \"hello-prmd\",\n \"links\": [{\n   \"href\": \"https:\u002F\u002Fapi.hello.com\",\n   \"rel\": \"self\"\n }],\n \"title\": \"Hello Prmd\"\n}\nEOF\n\n# Combine into a single schema\n$ prmd combine --meta meta.json schemata\u002F > schema.json\n\n# Check it’s all good\n$ prmd verify schema.json\n\n# Build docs\n$ prmd doc schema.json > schema.md\n```\n\n### Using YAML instead of JSON as a resource and meta format\n\n`init` and `combine` supports YAML format:\n\n```bash\n# Generate resources in YAML format\n$ prmd init --yaml app  > schemata\u002Fapp.yml\n$ prmd init --yaml user > schemata\u002Fuser.yml\n\n# Combine into a single schema\n$ prmd combine --meta meta.json schemata\u002F > schema.json\n```\n\n`combine` can detect both `*.yml` and `*.json` and use them side by side. For example, if one have a lot of legacy JSON resources and wants to create new resources in YAML format - `combine` will be able to handle it properly.\n\n# Render from schema\n\n```bash\n$ prmd render --template schemata.erb schema.json > schema.md\n```\n\nTypically you'll want to prepend header and overview information to\nyour API documentation. You can do this with the `--prepend` flag:\n\n```bash\n$ prmd doc --prepend overview.md schema.json > schema.md\n```\n\nYou can also chain commands together as needed, e.g.:\n\n```bash\n$ prmd combine --meta meta.json schemata\u002F | prmd verify | prmd doc --prepend overview.md > schema.md\n```\n\nSee `prmd \u003Ccommand> --help` for additional usage details.\n\n## Documentation rendering settings\n\nOut of the box you can supply a settings file (in either `JSON` or `YAML`) that will tweak the layout of your documentation.\n\n```bash\n$ prmd doc --settings config.json schema.json > schema.md\n```\n\nAvailable options (and their defaults)\n```js\n{\n  \"doc\": {\n    \"url_style\": \"default\", \u002F\u002F can also be \"json\"\n    \"disable_title_and_description\": false, \u002F\u002F remove the title and the description, useful when using your own custom header\n    \"toc\": false \u002F\u002F insert the table of content for json scheme documentation to the top of the file. (default disable)\n  }\n}\n```\n\n## Use as rake task\n\nIn addition, prmd can be used via rake tasks\n\n```ruby\n# Rakefile\nrequire 'prmd\u002Frake_tasks\u002Fcombine'\nrequire 'prmd\u002Frake_tasks\u002Fverify'\nrequire 'prmd\u002Frake_tasks\u002Fdoc'\n\nnamespace :schema do\n  Prmd::RakeTasks::Combine.new do |t|\n    t.options[:meta] = 'schema\u002Fmeta.json'    # use meta.yml if you prefer YAML format\n    t.paths \u003C\u003C 'schema\u002Fschemata\u002Fapi'\n    t.output_file = 'schema\u002Fapi.json'\n  end\n\n  Prmd::RakeTasks::Verify.new do |t|\n    t.files \u003C\u003C 'schema\u002Fapi.json'\n  end\n\n  Prmd::RakeTasks::Doc.new do |t|\n    t.files = { 'schema\u002Fapi.json' => 'schema\u002Fapi.md' }\n  end\nend\n\ntask default: ['schema:combine', 'schema:verify', 'schema:doc']\n```\n\n## File Layout\n\nWe suggest the following file layout for JSON schema related files:\n\n```\n\u002Fdocs (top-level directory for project documentation)\n  \u002Fschema (API schema documentation)\n    \u002Fschemata\n      \u002F{resource.[json,yml]} (individual resource schema)\n    \u002Fmeta.[json,yml] (overall API metadata)\n    \u002Foverview.md (preamble for generated API docs)\n    \u002Fschema.json (complete generated JSON schema file)\n    \u002Fschema.md (complete generated API documentation file)\n```\n\nwhere `[json,yml]` means that it could be either `json` or `yml`.\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n","prmd 是一个用于HTTP API的JSON Schema工具集，支持生成、验证和文档化JSON Schema。它主要提供了初始化资源模式、合并模式与元数据、验证模式以及从模式生成文档等功能，同时支持YAML格式的输入输出，增强了灵活性。此工具非常适合需要对API进行详细描述、确保其完整性和自动生成文档的场景，特别适用于开发和维护复杂API的团队。通过简单的命令行操作，用户可以快速搭建起一套完整的API文档体系，提高开发效率与API的可维护性。",2,"2026-06-11 03:15:50","top_language"]