{"id":50576192,"url":"https://github.com/decentralized-identity/web5-spec","last_synced_at":"2026-06-04T22:02:03.763Z","repository":{"id":199951648,"uuid":"704146876","full_name":"decentralized-identity/web5-spec","owner":"decentralized-identity","description":"Web5 Spec","archived":false,"fork":false,"pushed_at":"2024-10-25T03:39:04.000Z","size":439,"stargazers_count":7,"open_issues_count":26,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-29T09:06:21.800Z","etag":null,"topics":["decentralized-identity","ssi","verifiable-credentials","web5"],"latest_commit_sha":null,"homepage":"https://tbd54566975.github.io/web5-spec/","language":"JavaScript","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/decentralized-identity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-12T16:23:19.000Z","updated_at":"2024-12-12T18:23:47.000Z","dependencies_parsed_at":"2023-10-14T18:13:10.158Z","dependency_job_id":"9f071df7-5295-4f42-bb12-abdc2abe569b","html_url":"https://github.com/decentralized-identity/web5-spec","commit_stats":null,"previous_names":["tbd54566975/web5-spec","tbd54566975/sdk-development"],"tags_count":7,"template":false,"template_full_name":"TBD54566975/tbd-project-template","purl":"pkg:github/decentralized-identity/web5-spec","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentralized-identity%2Fweb5-spec","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentralized-identity%2Fweb5-spec/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentralized-identity%2Fweb5-spec/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentralized-identity%2Fweb5-spec/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/decentralized-identity","download_url":"https://codeload.github.com/decentralized-identity/web5-spec/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/decentralized-identity%2Fweb5-spec/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33921352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-04T02:00:06.755Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":["decentralized-identity","ssi","verifiable-credentials","web5"],"created_at":"2026-06-04T22:02:03.225Z","updated_at":"2026-06-04T22:02:03.757Z","avatar_url":"https://github.com/decentralized-identity.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web5 Spec\n\nThis repo sets forth the development process, requirements, and the desired feature for Web5 SDKs.\n\n## Feature Tracking\n\nFeature tracking will take place entirely on GitHub through Github Issues and the [SDK development Github project](https://github.com/orgs/TBD54566975/projects/29).\n\n## Feature Acceptance\n\nProposing new features that impact all SDKs will occur by creating a Github Issue in this repo. The Issue should include motivation or rationale in addition to any relevant reading material. New features will be discussed and decided upon during weekly syncs\n\n\u003e [!IMPORTANT]\n\u003e Language agnostic test vectors **must** be produced _prior_ to commencing implementation beyond the first SDK\n\nTest vectors are in the test-vector directory. More info on test vectors can be found there.\n\n## Implementation Criteria\n\nAn individual SDK will consider a feature implemented once the following requirements have been met:\n\n- Produce/update API reference documentation for any/all methods added to the _public_ API surface. documenting private API methods is optional\n- Produce/update relevant example usage\n- Test coverage must be provided for _all_ public API methods.\n- Tests that consume shared test vectors must all be passing\n\n## Review Criteria\n\n- Propose API surface design _prior_ to implementation. This can be done by opening a feature request Issue and fostering a discussion around the proposed design. This can be followed by a corresponding draft PR and providing prototypal code.\n\n- Approval Required from a minimum of 2 people.\n\n\u003e [!NOTE]\n\u003e Requiring two reviewers will likely slow things down at the benefit of ensuring there's a sufficient amount of visibility on the changes being made. It also prevents bottlenecks from forming. Many people on our team should be able to speak to the features landing in our SDKs.\n\n## Release Criteria\n\n- Each Release will have an accompanying Github Release\n- Each Github Release will have an accompanying git tag that matches the version being published\n- For the forseeable future, each SDK is free to publish releases at a frequency that the SDK's respective DRI sees fit\n\n## CI / CD\n\nEach SDK will use GitHub Actions for CI/CD and other automations.\n\nFind the latest [Projects Health Dashboard here](https://developer.tbd.website/open-source/projects-dashboard/). \n\n## Publishing Artifacts\n\nEach SDK will be published to the most widely adopted registry/repository for the respective language\n\n| SDK        | Repository          |\n| ---------- | ------------------- |\n| Typescript | npm                 |\n| Kotlin     | maven central       |\n| Rust       | crates.io           |\n| Swift      | swift package index |\n| Go         | tbd                 |\n\n## Publishing API Reference Documentation\n\nEach SDK will auto generate API reference documentation using the respective language's commenting convention and doc gen tooling\n\n---\n\n\u003e [!IMPORTANT]\n\u003e At a _minimum_, API reference documentation will be published to the respective sdk repository's Github Pages. e.g. `https://tbd54566975.github.io/tbdex-kt/`.\n\n---\n\n| Language   | Comment Convention     | Docs Generator |\n| ---------- | ---------------------- | -------------- |\n| Typescript | TSDoc                  | API Extractor  |\n| Kotlin     | KDoc                   | Dokka          |\n| Rust       | Documentation comments | rustdoc        |\n| Swift      | Swift Markup           | DocC           |\n| Go         | tbd                    | tbd            |\n\n\u003e [!IMPORTANT]\n\u003e Producing API reference documentation is the responsibility of an _implementer_.\n\n## Example Feature Usage\n\nEach SDK will **publish** example usage for _each_ implemented feature. This can either be included as a part of API reference documentation _or_ published separately.\n\n## Test Vectors\n\nTest vectors ensure interoporability of features across SDKs and language implementations by providing common test cases with an input and expected output pair. They include both success and failure cases that can be vectorized.\n\nThis repo serves as the home for all Web5 feature related vectors. They are available in the [test-vectors](./test-vectors/) directory.\n\nThe `sdk-report-runner` repo consumes the output tests for these test vectors in each repo and generates a report - [report-runner](https://github.com/TBD54566975/sdk-report-runner).\n\n### Adding \u0026 Updating Test Vectors\n\nNew test vectors should follow the standard [vector structure](./test-vectors/). Vectors are automatically validated against their [JSON Schema](https://json-schema.org/) via CI.\n\nCreate a PR in this repo for adding / updating Web5 test vectors.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecentralized-identity%2Fweb5-spec","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdecentralized-identity%2Fweb5-spec","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdecentralized-identity%2Fweb5-spec/lists"}