All Projects → meilisearch → specifications

meilisearch / specifications

Licence: MIT license
Track specification elaboration.

Projects that are alternatives of or similar to specifications

openapi
OpenAPI 3 Specification for golang
Stars: ✭ 18 (+5.88%)
Mutual labels:  specification, openapi-specification
webspicy
A technology agnostic specification and test framework that yields better coverage for less testing effort.
Stars: ✭ 42 (+147.06%)
Mutual labels:  specification
Quickstrom
High-confidence browser testing
Stars: ✭ 208 (+1123.53%)
Mutual labels:  specification
donate-spec
The Missing Donation Specification for Open Source Software
Stars: ✭ 13 (-23.53%)
Mutual labels:  specification
Specification
OpenMessaging Specification
Stars: ✭ 242 (+1323.53%)
Mutual labels:  specification
f2e-spec
Alibaba Front-end Coding Guidelines and Relevant Tools
Stars: ✭ 548 (+3123.53%)
Mutual labels:  specification
Oma lwm2m for developers
OMA LightweightM2M public resources.
Stars: ✭ 200 (+1076.47%)
Mutual labels:  specification
klever
Read-only mirror of the Klever Git repository
Stars: ✭ 18 (+5.88%)
Mutual labels:  specification
spec-pattern
Specification design pattern for JavaScript and TypeScript with bonus classes
Stars: ✭ 43 (+152.94%)
Mutual labels:  specification
flyteidl
Specification of the IR for Flyte workflows and tasks. Also Interfaces for all backend services. https://docs.flyte.org/projects/flyteidl/en/stable/
Stars: ✭ 27 (+58.82%)
Mutual labels:  specification
rules openapi
🍃 bazel rules for generating code from openapi specifications
Stars: ✭ 49 (+188.24%)
Mutual labels:  openapi-specification
Openautocomplete
OpenAutoComplete -- CLI autocomplete specification
Stars: ✭ 249 (+1364.71%)
Mutual labels:  specification
specifications-ITS-REST
openEHR REST API Specifications
Stars: ✭ 20 (+17.65%)
Mutual labels:  specification
Spec
CloudEvents Specification
Stars: ✭ 3,025 (+17694.12%)
Mutual labels:  specification
tinyspec
Simple syntax for describing REST APIs
Stars: ✭ 95 (+458.82%)
Mutual labels:  specification
Specification
The Solid specifications
Stars: ✭ 202 (+1088.24%)
Mutual labels:  specification
oas parser
An open source Open API Spec 3 Definition Parser
Stars: ✭ 52 (+205.88%)
Mutual labels:  openapi-specification
MARCspec
📄 MARCspec - A common MARC record path language
Stars: ✭ 21 (+23.53%)
Mutual labels:  specification
adamant.language.reference
The Adamant Programming Language Reference
Stars: ✭ 18 (+5.88%)
Mutual labels:  specification
standard-components
A specification for functional UI components
Stars: ✭ 52 (+205.88%)
Mutual labels:  specification

Specifications Workflow

This repository manages the specifications of the Meilisearch API. Specifications are meant to describe the expected behavior on a high level and point out identified corner cases.

Draft State: Create a new PR

To start a new specification, a new branch must start

  • from release-vX.X.X if the related changes are already planned for the release vX.X.X
  • from main if you don't know in which release the changes will be integrated

If a new specification file needs to be introduced, you must create a new file in this folder following the pattern: PR_number-feature-name.md. e.g. if PR number 12 is about facetting, the newly introduced specification file will be named 0012-facetting.md.

Note that a pull request not strictly dealing about a specification conception will be tagged as Not A Spec. e.g. A pull-request updating this file will be tagged with the Not A Spec label.

The pull-request template must be filled in when the pull-request is created.

Review State

It's up to the maintainers of this repository to decide when the PR is ready to be reviewed and which persons should review it.

The PR must be tagged as Ready For Review to enter this stage.

To be validated, it must be reviewed and approved by peers, ideally:

  • One person from the Integration team.
  • One person from the Core team.
  • One person from the Product team.

Merge State

To be merged, a specification pull-request should follow the given rules:

  • It must be approved as described in the Review State section.
  • The PR must point to the right release-vX.X.X branch.
  • It must be tagged with:
    • A vX.X.X tag indicating in which release the described changes will be introduced.
    • A QX:YYYY tag indicating in which quarter and year the described changes will be introduced.
    • The ⚠ Breaking tag, if breaking changes are introduced.
    • The Telemetry tag, if telemetry changes are introduced.
    • The OpenAPI tag, if the open-api specification will see changes introduced.

Release Worfklow

The following steps should happen the day a Meilisearch release is shipped:

  • Pull-requests describing changes for a release are squashed and merged into the corresponding release-vX.X.X branch.
  • release-vX.X.X is squashed and merged into main.
  • open-api.yml version is deployed on bump.sh.

Specification File Format

Meilisearch's feature specifications are made up of five sections, described below.

1. Summary

Summarize the specification with a short paragraph.

2. Motivation

Explain which use cases are supported.

3. Functional Specification

This section gives a high level overview of the feature. It should avoid technical language so that it can be understood by a general audience (think user-level).

  • Describe the API resource and endpoints. (Methods, URL, query parameters, body definition, status code).
  • Explain the feature through examples.
  • List error cases.

4. Technical Details (Optional)

When needed, we recommend describing practical aspects of implementation, e.g. specific algorithmic choices. If none, fill the section body with "n/a".

5. Future Possibilities (Optional)

This last section includes any related topics or features which are not currently in Meilisearch and will not be added now, but which may be explored in the future. If none, fill the section body with "n/a".

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].