Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wip: example ToC for maintainer guide #270

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mefellows
Copy link
Member

@mefellows mefellows commented Jun 23, 2023

An initial proposal outline for a maintainer guide.

@mefellows mefellows requested review from uglyog and YOU54F June 23, 2023 12:19
@mefellows mefellows force-pushed the docs/maintainer-guide branch from 90edf26 to d6b2a01 Compare June 23, 2023 12:31
- Maintainer meetings (how to stay in touch. Slack, Zoom monthly etc.)
- Roadmap (Where to find it, how to contribute to it, RFC process)
- Criteria for an implementation to be accepted into pact-foundation
- License should be MIT

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also Apache2

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah we have a handful of Apache 2.0 repos.

I noted about 9 don't have licenses, which probably should so will flag them for review.


## Quality

* [ ] TCK completed and published
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a thought for checklist, from previous threads

sustainable CI, or repo pre-reqs, good practises.

pact-foundation/roadmap#8

in addition, docs, ie

  • contributing guide
  • developer guide
  • readme

etc

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, nice ideas. I just popped a few off the top of my head, but I think it will likely be getting down what we have initially with some "TODOs" that we can populate over time as needed.

@YOU54F
Copy link
Member

YOU54F commented Jul 3, 2023

Looks good for a starter for 10, from a dry paper review, will see if I can flesh out some bits this week as I write up some of the work done to do date on the pact-python work for loading the FFI, and performing the verification via the CLI or using the FFI directly in the language DSL.

It's highlighting some gaps in my knowledge and where they may be discrepancies between ruby and rust, but even more so potentially discrepancies between client languages. Which is fine to highlight, and it means we can reason about, resolve and unify.

Thanks for kicking this off

@mefellows
Copy link
Member Author

After a discussion with @uglyog and @YOU54F one consideration to improve the DSL document, is to generate diagrams from code, such as the TS interface in Pact JS. The TS interface in JS uses a type-state pattern and shows how to construct an interface that is both user friendly and compatible with the FFI.

Converting from TS to other languages (in an idiomatic way) would still require some human involvement, but it should be aided by the types.

These projects look promising to attempt it:

tplant example:
tplant

VSCode TS UML examples:
PactV4SyncMessage
v4PactTypes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants