Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets).

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md).
11 changes: 11 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json",
"changelog": "@changesets/cli/changelog",
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch",
"ignore": []
}
44 changes: 44 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: release

on:
push:
branches: [main]

concurrency:
group: release-${{ github.ref }}
cancel-in-progress: false

permissions:
contents: write
pull-requests: write
id-token: write

jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: pnpm/action-setup@v4

- uses: actions/setup-node@v4
with:
node-version: 22
cache: pnpm

- run: pnpm install --frozen-lockfile

- run: pnpm build

- uses: changesets/action@v1
with:
version: pnpm changeset version
publish: pnpm changeset publish
title: 'chore: version packages'
commit: 'chore: version packages'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
NPM_CONFIG_PROVENANCE: 'true'
52 changes: 52 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Contributing to Flakemetry

## Development setup

```bash
git clone https://github.com/AKogut/flakemetry.git
cd flakemetry
pnpm install
docker compose up
```

Node 20+ and pnpm 9+ are required (the `packageManager` pin resolves the exact pnpm version through corepack).

## Workflow

Trunk-based development. Branch from `main`, keep branches short-lived and scoped to one issue:

```
<type>/<issue-number>-<short-kebab-summary>
```

Types: `feat`, `fix`, `chore`, `refactor`, `docs`, `ci`, `spike`. Commits follow [Conventional Commits](https://www.conventionalcommits.org/). See the [Branching & Git Workflow](https://github.com/AKogut/flakemetry/wiki/Branching-and-Git-Workflow) wiki page for the full rules.

## Before opening a pull request

```bash
pnpm build
pnpm lint
pnpm typecheck
pnpm test
pnpm format:check
```

CI runs the same tasks with turbo affected filtering; all checks must be green before merge.

## Changesets

Every PR that touches a published package (`@flakemetry/contracts`, `core`, `sdk`, `playwright-reporter`, `ai`, `cli`) must include a changeset:

```bash
pnpm changeset
```

Pick the affected packages, choose the semver bump, and describe the change from a consumer's perspective. Internal packages (`db`, apps, shared configs) do not need changesets.

Releases are automated: merged changesets accumulate into a version PR, and merging that PR publishes to npm with provenance.

## Code style

- No comments in source code — code should read clearly on its own
- Prettier and ESLint are enforced in CI (`pnpm format`, `pnpm lint`)
- Tests colocate with the package they cover
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,11 @@
"stack:up": "docker compose up -d --build",
"stack:down": "docker compose down",
"stack:logs": "docker compose logs -f",
"stack:reset": "docker compose down -v && docker compose up -d --build"
"stack:reset": "docker compose down -v && docker compose up -d --build",
"changeset": "changeset"
},
"devDependencies": {
"@changesets/cli": "^2.31.1",
"eslint": "^9.17.0",
"prettier": "^3.4.2",
"tsup": "^8.3.5",
Expand Down
4 changes: 3 additions & 1 deletion packages/ai/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{
"name": "@flakemetry/ai",
"version": "0.0.0",
"private": true,
"description": "LLM provider abstraction and root-cause analysis",
"publishConfig": {
"access": "public"
},
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
Expand Down
4 changes: 3 additions & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{
"name": "@flakemetry/cli",
"version": "0.0.0",
"private": true,
"description": "Command line interface for Flakemetry",
"publishConfig": {
"access": "public"
},
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
Expand Down
4 changes: 3 additions & 1 deletion packages/contracts/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{
"name": "@flakemetry/contracts",
"version": "0.0.0",
"private": true,
"description": "Shared zod schemas and inferred types across ingestion, api, worker and web",
"publishConfig": {
"access": "public"
},
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
Expand Down
4 changes: 3 additions & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{
"name": "@flakemetry/core",
"version": "0.0.0",
"private": true,
"description": "Pure domain logic: test identity and flaky scoring",
"publishConfig": {
"access": "public"
},
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
Expand Down
4 changes: 3 additions & 1 deletion packages/reporter/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{
"name": "@flakemetry/playwright-reporter",
"version": "0.0.0",
"private": true,
"description": "Playwright reporter emitting OpenTelemetry test spans",
"publishConfig": {
"access": "public"
},
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
Expand Down
4 changes: 3 additions & 1 deletion packages/sdk/package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{
"name": "@flakemetry/sdk",
"version": "0.0.0",
"private": true,
"description": "OpenTelemetry test instrumentation and ingest client",
"publishConfig": {
"access": "public"
},
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
Expand Down
Loading
Loading