Skip to content

Commit 4503d53

Browse files
zaxcoraiderclaude
andcommitted
feat(day-15): public-goods polish + grant application
- README: ASCII banner, arch diagram, CI/npm/crates badges, clean pitch - CONTRIBUTING.md: full dev setup, test commands, gotchas, PR conventions - CODE_OF_CONDUCT.md: Contributor Covenant 2.1 - .github/workflows/ci.yml: cargo check/clippy/test + pnpm tsc/build on PR - .github/workflows/release.yml: tag-triggered CLI binaries for linux/mac/win - .github/ISSUE_TEMPLATE/: bug report + feature request - .github/PULL_REQUEST_TEMPLATE.md - examples/basic-replay/: replay a tx, print CPI trace (Rust) - examples/ci-regression/: historical regression runner (TypeScript) - examples/mutation-analysis/: fork → mutate → diff (Rust) - packages/replay-sdk-ts: add homepage, bugs URL, expanded keywords - docs/grants/glass-surfers-application.md: $5k VSCode extension ask - memory/day-15.md: full session snapshot Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent eb8d650 commit 4503d53

19 files changed

Lines changed: 890 additions & 75 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Bug report
3+
about: Something isn't working correctly
4+
labels: bug
5+
---
6+
7+
**Describe the bug**
8+
A clear description of what went wrong.
9+
10+
**Transaction signature (if applicable)**
11+
Paste the Solana tx signature you were replaying (mainnet or devnet).
12+
13+
**Steps to reproduce**
14+
1.
15+
2.
16+
3.
17+
18+
**Expected behavior**
19+
What you expected to happen.
20+
21+
**Actual behavior**
22+
What actually happened. Include error messages or logs.
23+
24+
**Environment**
25+
- OS:
26+
- Rust version (`rustc --version`):
27+
- CLI / SDK version:
28+
- Helius plan (free / growth / business):
29+
30+
**Additional context**
31+
Any other context, screenshots, or cargo output.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea or improvement
4+
labels: enhancement
5+
---
6+
7+
**Problem this solves**
8+
What workflow or debugging scenario is currently painful or impossible?
9+
10+
**Proposed solution**
11+
What would you like to see added or changed?
12+
13+
**Alternatives considered**
14+
Any other approaches you considered and why you ruled them out.
15+
16+
**Additional context**
17+
Links, related issues, example transactions, or mockups.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
## Summary
2+
3+
<!-- What does this PR do? 1-3 bullet points. -->
4+
5+
-
6+
7+
## Test plan
8+
9+
<!-- How did you verify this works? -->
10+
11+
- [ ] `cargo test -p replay-core --lib` passes
12+
- [ ] `cargo test -p replay-api` passes
13+
- [ ] `cargo clippy -- -D warnings` clean
14+
- [ ] `cd web && pnpm tsc --noEmit` clean (if web changed)
15+
- [ ] Manually tested against a real tx signature (if touching replay logic)
16+
17+
## Related issues
18+
19+
Closes #

.github/workflows/ci.yml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
env:
10+
CARGO_TERM_COLOR: always
11+
RUST_BACKTRACE: 1
12+
13+
jobs:
14+
rust:
15+
name: Rust checks
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Install Rust toolchain
21+
uses: dtolnay/rust-toolchain@stable
22+
with:
23+
components: clippy
24+
25+
- name: Cache cargo registry
26+
uses: actions/cache@v4
27+
with:
28+
path: |
29+
~/.cargo/registry
30+
~/.cargo/git
31+
target
32+
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
33+
restore-keys: ${{ runner.os }}-cargo-
34+
35+
- name: cargo check
36+
run: cargo check --workspace
37+
38+
- name: cargo clippy
39+
run: cargo clippy --workspace -- -D warnings
40+
41+
- name: cargo test (replay-core)
42+
run: cargo test -p replay-core --lib
43+
env:
44+
HELIUS_API_KEY: test_key_ci
45+
46+
- name: cargo test (replay-api)
47+
run: cargo test -p replay-api
48+
env:
49+
HELIUS_API_KEY: test_key_ci
50+
51+
web:
52+
name: Web checks
53+
runs-on: ubuntu-latest
54+
defaults:
55+
run:
56+
working-directory: web
57+
steps:
58+
- uses: actions/checkout@v4
59+
60+
- uses: pnpm/action-setup@v4
61+
with:
62+
version: 9
63+
64+
- uses: actions/setup-node@v4
65+
with:
66+
node-version: 20
67+
cache: pnpm
68+
cache-dependency-path: web/pnpm-lock.yaml
69+
70+
- name: Install dependencies
71+
run: pnpm install --frozen-lockfile
72+
73+
- name: Type check
74+
run: pnpm tsc --noEmit
75+
76+
- name: Build
77+
run: pnpm build

.github/workflows/release.yml

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*.*.*'
7+
8+
env:
9+
CARGO_TERM_COLOR: always
10+
BINARY_NAME: replay
11+
12+
jobs:
13+
build:
14+
name: Build ${{ matrix.target }}
15+
runs-on: ${{ matrix.os }}
16+
strategy:
17+
matrix:
18+
include:
19+
- target: x86_64-unknown-linux-gnu
20+
os: ubuntu-latest
21+
archive: tar.gz
22+
- target: aarch64-apple-darwin
23+
os: macos-latest
24+
archive: tar.gz
25+
- target: x86_64-pc-windows-msvc
26+
os: windows-latest
27+
archive: zip
28+
29+
steps:
30+
- uses: actions/checkout@v4
31+
32+
- name: Install Rust toolchain
33+
uses: dtolnay/rust-toolchain@stable
34+
with:
35+
targets: ${{ matrix.target }}
36+
37+
- name: Cache cargo
38+
uses: actions/cache@v4
39+
with:
40+
path: |
41+
~/.cargo/registry
42+
~/.cargo/git
43+
target
44+
key: ${{ runner.os }}-${{ matrix.target }}-cargo-${{ hashFiles('**/Cargo.lock') }}
45+
46+
- name: Build CLI (release)
47+
run: cargo build -p replay-cli --release --target ${{ matrix.target }}
48+
49+
- name: Package (Unix)
50+
if: matrix.archive == 'tar.gz'
51+
run: |
52+
BIN=target/${{ matrix.target }}/release/${{ env.BINARY_NAME }}
53+
ARCHIVE=${{ env.BINARY_NAME }}-${{ github.ref_name }}-${{ matrix.target }}.tar.gz
54+
tar -czf $ARCHIVE -C $(dirname $BIN) $(basename $BIN)
55+
echo "ASSET=$ARCHIVE" >> $GITHUB_ENV
56+
57+
- name: Package (Windows)
58+
if: matrix.archive == 'zip'
59+
shell: pwsh
60+
run: |
61+
$bin = "target\${{ matrix.target }}\release\${{ env.BINARY_NAME }}.exe"
62+
$archive = "${{ env.BINARY_NAME }}-${{ github.ref_name }}-${{ matrix.target }}.zip"
63+
Compress-Archive -Path $bin -DestinationPath $archive
64+
"ASSET=$archive" | Out-File -FilePath $env:GITHUB_ENV -Append
65+
66+
- name: Upload artifact
67+
uses: actions/upload-artifact@v4
68+
with:
69+
name: ${{ matrix.target }}
70+
path: ${{ env.ASSET }}
71+
72+
release:
73+
name: Create GitHub release
74+
needs: build
75+
runs-on: ubuntu-latest
76+
permissions:
77+
contents: write
78+
steps:
79+
- uses: actions/download-artifact@v4
80+
with:
81+
path: artifacts
82+
merge-multiple: true
83+
84+
- name: Create release
85+
uses: softprops/action-gh-release@v2
86+
with:
87+
files: artifacts/*
88+
generate_release_notes: true

CODE_OF_CONDUCT.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.
6+
7+
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
8+
9+
## Our Standards
10+
11+
Examples of behavior that contributes to a positive environment:
12+
13+
* Demonstrating empathy and kindness toward other people
14+
* Being respectful of differing opinions, viewpoints, and experiences
15+
* Giving and gracefully accepting constructive feedback
16+
* Accepting responsibility and apologizing to those affected by our mistakes
17+
* Focusing on what is best not just for us as individuals, but for the overall community
18+
19+
Examples of unacceptable behavior:
20+
21+
* The use of sexualized language or imagery, and sexual attention or advances of any kind
22+
* Trolling, insulting or derogatory comments, and personal or political attacks
23+
* Public or private harassment
24+
* Publishing others' private information without their explicit permission
25+
* Other conduct which could reasonably be considered inappropriate in a professional setting
26+
27+
## Enforcement Responsibilities
28+
29+
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
30+
31+
## Scope
32+
33+
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces.
34+
35+
## Enforcement
36+
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project maintainer at **zaxemoboy006@gmail.com**. All complaints will be reviewed and investigated promptly and fairly.
38+
39+
## Attribution
40+
41+
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1.

0 commit comments

Comments
 (0)