From e8fa5e557e31938dd2cb947c58235c1ba3776e72 Mon Sep 17 00:00:00 2001 From: Zachary Date: Tue, 24 Mar 2026 22:42:44 -0400 Subject: [PATCH] Add GitHub workflows, changelog, package.json, and README updates Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/ISSUE_TEMPLATE/bug_report.yml | 57 +++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.yml | 38 +++++++++++ .github/pull_request_template.md | 30 +++++++++ .github/workflows/ci.yml | 74 ++++++++++++++++++++++ CHANGELOG.md | 22 +++++++ README.md | 14 +++- package.json | 32 ++++++++++ 7 files changed, 265 insertions(+), 2 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/ci.yml create mode 100644 CHANGELOG.md create mode 100644 package.json diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..c45d9b6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,57 @@ +name: Bug Report +description: Report a bug in Elydora +labels: ["bug"] +body: + - type: textarea + id: description + attributes: + label: Describe the bug + description: A clear description of what the bug is. + validations: + required: true + - type: textarea + id: steps + attributes: + label: Steps to reproduce + description: Steps to reproduce the behavior. + placeholder: | + 1. Deploy Elydora with docker compose + 2. Submit an operation via the Node SDK + 3. ... + validations: + required: true + - type: textarea + id: expected + attributes: + label: Expected behavior + description: What you expected to happen. + validations: + required: true + - type: textarea + id: actual + attributes: + label: Actual behavior + description: What actually happened. + validations: + required: true + - type: dropdown + id: component + attributes: + label: Component + options: + - API Server + - Console + - Node SDK + - Python SDK + - Go SDK + - Helm Chart + - Docker Compose + - Other + validations: + required: true + - type: textarea + id: environment + attributes: + label: Environment + description: OS, Docker version, Node/Python/Go version, Elydora version. + placeholder: "macOS 14, Docker 25.0, Node 20, Elydora v0.1.0" diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..3d594be --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,38 @@ +name: Feature Request +description: Suggest a new feature for Elydora +labels: ["enhancement"] +body: + - type: textarea + id: problem + attributes: + label: Problem + description: What problem does this feature solve? + validations: + required: true + - type: textarea + id: solution + attributes: + label: Proposed solution + description: Describe how you'd like this to work. + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Alternatives considered + description: Any alternative solutions or workarounds you've considered. + - type: dropdown + id: component + attributes: + label: Component + options: + - API Server + - Console + - Node SDK + - Python SDK + - Go SDK + - Helm Chart + - Protocol + - Other + validations: + required: true diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..f197f5a --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,30 @@ +## What does this PR do? + + + +## Component(s) affected + +- [ ] API Server +- [ ] Console +- [ ] Node SDK +- [ ] Python SDK +- [ ] Go SDK +- [ ] Helm Chart +- [ ] Documentation + +## How to test + + + +1. ... + +## Related issues + + + +## Checklist + +- [ ] I have tested my changes locally +- [ ] My code follows the project's style guidelines +- [ ] I have updated documentation if applicable +- [ ] No secrets or credentials are included in this PR diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..d9fb9d0 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,74 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + typecheck-server: + name: Typecheck Server + runs-on: ubuntu-latest + defaults: + run: + working-directory: packages/server + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + cache-dependency-path: packages/server/package-lock.json + - run: npm ci + - run: npm run typecheck + + typecheck-console: + name: Typecheck Console + runs-on: ubuntu-latest + defaults: + run: + working-directory: packages/console + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + cache-dependency-path: packages/console/package-lock.json + - run: npm ci + - run: npm run typecheck + + build-server: + name: Build Server + runs-on: ubuntu-latest + needs: typecheck-server + defaults: + run: + working-directory: packages/server + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + cache-dependency-path: packages/server/package-lock.json + - run: npm ci + - run: npm run build + + build-console: + name: Build Console + runs-on: ubuntu-latest + needs: typecheck-console + defaults: + run: + working-directory: packages/console + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '20' + cache: 'npm' + cache-dependency-path: packages/console/package-lock.json + - run: npm ci + - run: npm run build diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..2178bfd --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,22 @@ +# Changelog + +All notable changes to the Elydora Open Source project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). + +## [0.1.0] - 2025-03-02 + +### Added +- Initial open-source release of Elydora +- API server with Ed25519 signed operation records (EOR) +- Chain-hashed audit trails with SHA-256 +- Merkle tree epoch rollups with RFC 3161 TSA anchoring +- Multi-tenant RBAC with 5 roles +- Compliance exports (JSON/PDF) +- Next.js web management console +- Node.js/TypeScript SDK (v1.2.0) with CLI +- Python SDK (v1.2.0) with sync and async clients +- Go SDK (v0.1.0) with CLI +- Docker Compose one-command deploy +- Kubernetes Helm chart +- CONTRIBUTING.md with development setup guide diff --git a/README.md b/README.md index 966e97a..0100536 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,12 @@ Tamper-evident audit trails with cryptographic proof for every AI agent action. +[![GitHub Stars](https://img.shields.io/github/stars/Elydora-Infrastructure/Elydora-Open-Source?style=social)](https://github.com/Elydora-Infrastructure/Elydora-Open-Source) [![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE) -[![Node SDK](https://img.shields.io/badge/node%20sdk-v1.1.0-green.svg)](sdks/node/) -[![Python SDK](https://img.shields.io/badge/python%20sdk-v1.1.0-green.svg)](sdks/python/) +[![Node SDK](https://img.shields.io/badge/node%20sdk-v1.2.0-green.svg)](sdks/node/) +[![Python SDK](https://img.shields.io/badge/python%20sdk-v1.2.0-green.svg)](sdks/python/) [![Go SDK](https://img.shields.io/badge/go%20sdk-v0.1.0-green.svg)](sdks/go/) +[![CI](https://img.shields.io/github/actions/workflow/status/Elydora-Infrastructure/Elydora-Open-Source/ci.yml?branch=main&label=CI)](https://github.com/Elydora-Infrastructure/Elydora-Open-Source/actions) [![Website](https://img.shields.io/badge/website-elydora.com-purple.svg)](https://elydora.com) [Website](https://elydora.com) · [Quick Start](#quick-start) · [Documentation](#documentation) · [API Reference](#api-reference) · [SDKs](#sdks) · [Contributing](#contributing) @@ -911,6 +913,14 @@ Elydora is configured via environment variables. Copy `.env.example` to `.env` a --- +## Star This Repo + +If Elydora is useful to you, please consider giving it a star on GitHub. It helps others discover the project and motivates continued development. + +[![Star on GitHub](https://img.shields.io/github/stars/Elydora-Infrastructure/Elydora-Open-Source?style=social)](https://github.com/Elydora-Infrastructure/Elydora-Open-Source) + +--- + ## Contributing See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup, code style guidelines, and the pull request process. diff --git a/package.json b/package.json new file mode 100644 index 0000000..db359b3 --- /dev/null +++ b/package.json @@ -0,0 +1,32 @@ +{ + "name": "elydora-open-source", + "version": "0.1.0", + "private": true, + "description": "Open-source responsibility layer for AI agents — tamper-evident audit trails with cryptographic proof for every action.", + "keywords": [ + "ai", + "agents", + "audit-trail", + "cryptography", + "ed25519", + "compliance", + "observability", + "merkle-tree", + "tamper-evident", + "responsible-ai" + ], + "homepage": "https://elydora.com", + "repository": { + "type": "git", + "url": "https://github.com/Elydora-Infrastructure/Elydora-Open-Source.git" + }, + "license": "Apache-2.0", + "scripts": { + "build:server": "cd packages/server && npm run build", + "build:console": "cd packages/console && npm run build", + "build": "npm run build:server && npm run build:console", + "typecheck:server": "cd packages/server && npm run typecheck", + "typecheck:console": "cd packages/console && npm run typecheck", + "typecheck": "npm run typecheck:server && npm run typecheck:console" + } +}