This commit is contained in:
@@ -0,0 +1,12 @@
|
|||||||
|
name: API checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
checks:
|
||||||
|
runs-on: debian-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- run: test -f README.md && test -f AGENTS.md && test -f docs/versioning.md
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
node_modules/
|
||||||
|
dist/
|
||||||
|
build/
|
||||||
|
coverage/
|
||||||
|
.env
|
||||||
|
*.local
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
node_modules/
|
||||||
|
dist/
|
||||||
|
build/
|
||||||
|
coverage/
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"printWidth": 100,
|
||||||
|
"singleQuote": true,
|
||||||
|
"trailingComma": "all",
|
||||||
|
"tabWidth": 2
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
# Trixie API Agent Instructions
|
||||||
|
|
||||||
|
Read this file and the parent `AGENTS.md`, `PLAN.md`, and `TODO.md` before making changes.
|
||||||
|
|
||||||
|
- This repository owns shared contracts only.
|
||||||
|
- Prefer additive changes; breaking changes require a new major API version and migration notes.
|
||||||
|
- Every contract change requires schema validation, compatibility fixtures, contract tests, and documentation updates.
|
||||||
|
- Never include credentials, private endpoints, or real user data.
|
||||||
|
- Do not edit the parent `PLAN.md` without explicit user permission.
|
||||||
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# Contributing
|
||||||
|
|
||||||
|
Run formatting, schema validation, compatibility checks, and contract tests before submission. Explain compatibility impact for every contract change.
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Trixie API
|
||||||
|
|
||||||
|
Shared versioned HTTP and authenticated WebSocket contracts for `trixie-server` and `trixy-linux-client`.
|
||||||
|
|
||||||
|
This repository contains schemas, shared enums, error codes, compatibility fixtures, contract tests, and API documentation only.
|
||||||
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# Security
|
||||||
|
|
||||||
|
Report vulnerabilities privately through the hosting instance. Never include credentials, tokens, private URLs, or real user data in issues or fixtures.
|
||||||
|
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
# Contract Testing
|
||||||
|
|
||||||
|
Fixtures cover HTTP responses, authenticated WebSocket events, errors, permissions, version negotiation, reconnects, and server-owned state transitions. Fixtures are deterministic, synthetic, and secret-free.
|
||||||
|
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# API Versioning
|
||||||
|
|
||||||
|
- Use an explicit major API version.
|
||||||
|
- Prefer additive fields and events.
|
||||||
|
- Clients must tolerate unknown fields and events.
|
||||||
|
- Breaking changes require a new major version, fixtures, migration notes, and coordinated releases.
|
||||||
|
- Each release records minimum compatible client and server versions.
|
||||||
|
|
||||||
Reference in New Issue
Block a user