Skip to content

Restructure purl-spec repository #520

@mjherzog

Description

@mjherzog

Proposal: Restructure the purl-spec repository

Background

The purl-spec repository currently contains a few large rST files. The primary file is https://github.com/package-url/purl-spec/blob/main/PURL-SPECIFICATION.rst - it is essentially a narrative description of the PURL specification. We need to re-organize the repository files into a new structure that:

NB: This proposal assumes that:

  • We will create a new vers-spec repository with a similar overall structure.
  • We will convert existing reStructuredText (.rst) file to Markdown (.md) format for ease of use in the GitHub context.
  • purltype is a placeholder for PURL Type names.

Proposal

The following table shows the proposed repository layout.

Folder / File Description Included in Ecma standard
/.github/workflows No
/docs/ New folder - does not include documentation generated for each PURL Type No
/docs/annexes/ For future use - Colophon etc. Yes
/docs/images/ For future use Possible
/docs/build-purl.md How to build a purl string from its components No
/docs/purl-types.md General information migrated from PURL-Types.rst No
/docs/parse-purl.md How to parse a purl string into its components No
/docs/ecma/about.md Content for the About the Specification section of the Ecma standard. Yes
/docs/ecma/conformance.md Text for the Ecma Conformance section 2 Conformance
/docs/ecma/introduction.md Test for the Ecma Introduction section Introduction
/docs/ecma/overview.md Text for the Ecama PURL Overview section 4 Overview
/docs/ecma/purl-type.md Introductory text for Section 6 6 PURL Type Schema
/docs/ecma/references.md Text for the Ecma Normative Reference section 3 Normative References
/docs/ecma/specification.md Content for section 5 of the Ecma standard: Package-URLSpecfication. 5.1 A PURL is a URL
5.2 Permitted characters
5.3 Separator characters
5.4 Character encoding
5.5 Component-level rules
/docs/tests.md Introductory text for tests No
/etc/scripts/ No
/schemas/ JSON Schema files No
/schemas/purl-test.schema.json 7 PURL Test Schema
/schemas/purl-type-index.schema.json 6 PURL Type Schema
/schemas/purl-type.schema.json 6 PURL Type Schema
/tests/spec/specification-test.json No
/tests/types/purltype-test.json No
/types/ Contains one .json file for each registered PURL Type Need to replace "known" with "registered" in many files
/types/docs/ Contains one .md file for each registered PURL Type No
/types/docs/README.md Auto-Generated PURLType Documentation No
/types/docs/purltype-definition.md Placeholder for markdown file generate for each registered PURL Type No
/types/README.md Canonical PURL Type Definitions No
/types/purltype-definition.json Placeholder for JSON file for each registered PURL Type No
ADOPTERS.md List of PURL Adopters - Need Issue/PR template for additions No
CHANGELOG.md Starting with purl-spec v0.90 No
CODE_OF_CONDUCT.md rename code_of_conduct to upper case for consistency No
CONTRIBUTING.md New file No
LICENSE.md Need to clarify what our license fis for the overall specification No
MAINTAINERS.md New No
README.md Needs to be streamlined - primarily should have links to other documents. No
purl-types-index.json Generated index of registered PURL Types. No

Metadata

Metadata

Assignees

Labels

PURL core specificationFormat and syntax that define PURL (excludes PURL type definitions)

Type

No type

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions