aboutsummaryrefslogtreecommitdiff
path: root/apps/docs/memorybench/contributing.mdx
blob: 2f8e45e204546d076b321a9100c281455ca8a831 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
---
title: "Contributing"
description: "Guidelines for contributing to MemoryBench"
sidebarTitle: "Contributing"
---

## Getting Started

1. Fork the repository
2. Clone your fork:
   ```bash
   git clone https://github.com/YOUR_USERNAME/memorybench
   cd memorybench
   bun install
   ```
3. Create a branch:
   ```bash
   git checkout -b feature/your-feature
   ```

## Development Workflow

### Running Tests

```bash
bun test
```

### Running the CLI

```bash
bun run src/index.ts <command>
```

### Running the Web UI

```bash
cd ui
bun run dev
```

## Code Structure

| Directory | Purpose |
|-----------|---------|
| `src/cli/` | CLI commands |
| `src/orchestrator/` | Pipeline execution |
| `src/benchmarks/` | Benchmark adapters |
| `src/providers/` | Provider integrations |
| `src/judges/` | LLM judge implementations |
| `src/types/` | TypeScript interfaces |
| `ui/` | Next.js web interface |

## Contribution Types

### Adding a Provider

See [Extending MemoryBench](/memorybench/extend-provider) for the full guide.

1. Create `src/providers/yourprovider/index.ts`
2. Implement the `Provider` interface
3. Register in `src/providers/index.ts`
4. Add config in `src/utils/config.ts`
5. Submit PR with tests

### Adding a Benchmark

1. Create `src/benchmarks/yourbenchmark/index.ts`
2. Implement the `Benchmark` interface
3. Register in `src/benchmarks/index.ts`
4. Document question types
5. Submit PR with sample data

### Bug Fixes

1. Create an issue describing the bug
2. Reference the issue in your PR
3. Include test cases that reproduce the bug

## Pull Request Guidelines

- Keep PRs focused on a single change
- Update documentation if needed
- Ensure all tests pass
- Follow existing code style

## Questions?

Open an issue on [GitHub](https://github.com/supermemoryai/memorybench/issues).