Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
171 commits
Select commit Hold shift + click to select a range
9625587
Initial commit
helloanoop Sep 16, 2025
f3ab024
Added package.json
helloanoop Sep 16, 2025
890eb44
init
naman-bruno Sep 18, 2025
b842fa4
Merge pull request #2 from naman-bruno/new
helloanoop Sep 18, 2025
8e132d4
UX revamp
helloanoop Sep 19, 2025
7e9af3e
Spec site
helloanoop Sep 19, 2025
bb5b921
UX Revamp
helloanoop Sep 19, 2025
1db23ca
UX Revamp
helloanoop Sep 20, 2025
735ecc9
UX Revamp
helloanoop Sep 20, 2025
5d6263e
Added @vitejs/plugin-react
helloanoop Sep 20, 2025
1162441
Merge pull request #3 from naman-bruno/add/bru-api
naman-bruno Sep 20, 2025
3529418
fixes (#4)
naman-bruno Sep 20, 2025
34db6f5
feat(scripting): implements secure JavaScript sandbox using QuickJS f…
lohit-bruno Oct 21, 2025
83af2d6
Merge pull request #6 from lohit-bruno/main
helloanoop Nov 3, 2025
27cdf8b
feat(converters): add Bruno to OpenCollection format conversion and u…
helloanoop Nov 13, 2025
5a40ed9
feat(schema): enhance OpenCollection schema with new request types an…
helloanoop Nov 14, 2025
5e6fc6b
feat: single docs layout + playground drawer
helloanoop Nov 15, 2025
ce4b13c
refactor: remove unused folder items rendering logic
helloanoop Nov 15, 2025
9be103e
style: update CSS variables and component styles for improved consist…
helloanoop Nov 15, 2025
fc48365
style: adjust CSS variables and component styles for enhanced layout …
helloanoop Nov 15, 2025
64a11d5
refactor: add CodeSnippets component for generating code examples in …
helloanoop Nov 15, 2025
84ebbb8
feat: implement Sidebar component with styled wrapper and integrate i…
helloanoop Nov 15, 2025
ede8d20
fix: update StatusBadge rendering logic to display 'Disabled' text fo…
helloanoop Nov 15, 2025
5e44993
style: enhance syntax highlighting in light and dark themes with upda…
helloanoop Nov 15, 2025
7fba30e
feat: refactot Item Component
helloanoop Nov 16, 2025
fdd829d
feat: better copy ux inside Scripts and CodeSnippets
helloanoop Nov 16, 2025
25376c7
refactor: movoed CodeSnippets inside Docs
helloanoop Nov 16, 2025
b75674c
chore: adjusted layout flex of items
helloanoop Nov 16, 2025
9e24a99
style: add custom scrollbar styles for code content in light and dark…
helloanoop Nov 16, 2025
01cfe16
style: update section titles and refine color palette
helloanoop Nov 16, 2025
9cbec3c
refactor: PlaygroundDrawer
helloanoop Nov 16, 2025
3957302
chore: cleanup unused code
helloanoop Nov 16, 2025
211e1fb
feat: add oc-types package with TypeScript types for OpenCollection s…
helloanoop Nov 16, 2025
0ed9635
feat: integrate @opencollection/types into oc-core, updating imports …
helloanoop Nov 16, 2025
fa33053
removed code no longer needed
helloanoop Nov 16, 2025
9efa292
feat: integrate Redux for state management
helloanoop Nov 16, 2025
f77bfba
feat: refactor state management by introducing new slices for docs an…
helloanoop Nov 16, 2025
2fac0e5
chore: code cleanup
helloanoop Nov 16, 2025
8f1c5e7
chore: code org refactor
helloanoop Nov 16, 2025
a45aff6
chore: renamed pkg oc-core to oc-docs
helloanoop Nov 16, 2025
e1259b8
feat: move state mgmt of item selection and collapsed to store
helloanoop Nov 17, 2025
7054f5a
chore: ckeanup unused code
helloanoop Nov 17, 2025
e3a7941
feat: playground sidebar revamp
helloanoop Nov 17, 2025
248629e
refactor:playground styling adjustments
helloanoop Nov 17, 2025
9740dc1
feat: add oc-schema package with JSON schema definitions and integrat…
helloanoop Nov 19, 2025
9a607c6
Enhance tables design & add environments (#7)
naman-bruno Nov 22, 2025
22520af
refactor: update schema definitions for request bodies and authentica…
helloanoop Nov 22, 2025
a5667af
feat: enhance PlaygroundDrawer functionality with improved collapsing…
naman-bruno Nov 26, 2025
bf17bba
feat: oc-docs playground ui and request execution logic updates (#9)
lohit-bruno Dec 4, 2025
cd4a716
feat: docs update
helloanoop Dec 6, 2025
9a4f27e
chore: bump version to 0.2.0
helloanoop Dec 7, 2025
f5fccdd
feat: proxy object redesign in collection config
helloanoop Dec 24, 2025
9e9595e
fix: opencollection url and dependency (#11)
naman-bruno Jan 1, 2026
41dc001
fix: margin in bigger screens (#12)
naman-bruno Jan 1, 2026
27d2ce3
add: method selector in playground (#13)
naman-bruno Jan 1, 2026
9e05c5f
fix: process is not defined in browser build (#14)
naman-bruno Jan 1, 2026
65ae322
update: export name for CDN (#15)
naman-bruno Jan 2, 2026
0753097
fix(usebruno/bruno#6733): fixed docs rendering issue
helloanoop Jan 7, 2026
87061a4
chore: add predev script to build library in oc-docs package.json
naman-bruno Jan 12, 2026
998974d
Select env by default
naman-bruno Jan 12, 2026
294bf39
add: CORS errors in RequestExecutor with specific error message
naman-bruno Jan 12, 2026
22b3df3
fix: form-urlencoded body shows "Unsupported body type" on initial load
gopu-bruno Jan 16, 2026
6263cb5
refactor: remove field.enabled check
gopu-bruno Jan 20, 2026
d3b4dfe
chore: add predev script to build library in oc-docs package.json (#16)
helloanoop Jan 29, 2026
3499084
Merge pull request #17 from naman-bruno/select/env
helloanoop Jan 29, 2026
5a96446
Merge pull request #18 from naman-bruno/add/cors-error
helloanoop Jan 29, 2026
d115051
Merge pull request #19 from gopu-bruno/fix/form-urlencoded-body-display
helloanoop Jan 29, 2026
07cfc0e
feat: render collection-level docs and request/response examples
sreelakshmi-bruno Feb 26, 2026
d0d04a5
examples-ui
sreelakshmi-bruno Mar 11, 2026
cd0f766
examples-ui-add-url-and-code-gen
sreelakshmi-bruno Mar 13, 2026
c84a644
add e2e tests with Playwright and extract sample collection data
lohit-bruno Mar 13, 2026
d705dae
extract styled component into separate StyledWrapper file
lohit-bruno Mar 26, 2026
6f8a72d
refactor Examples into directory-based modules with co-located styles
lohit-bruno Mar 27, 2026
2a36a54
rename index.tsx to named component files in Examples subdirectories
lohit-bruno Apr 3, 2026
d35eed9
remove unused RequestExamples and ResponseExamples components
lohit-bruno Apr 3, 2026
f1ef5ff
bump @opencollection/types and schema to 0.9.1, use node 22 in CI
lohit-bruno Apr 15, 2026
7a90755
extract code snippet generators into shared module
lohit-bruno Apr 17, 2026
9fbc727
Merge pull request #26 from lohit-bruno/feat/collection-docs-examples…
naman-bruno Apr 22, 2026
350b23a
feat: add Fetch in Bruno button with direct deep link
lohit-bruno Apr 1, 2026
4006b97
move collection name header to main content area
lohit-bruno Apr 22, 2026
53f3035
update e2e tests for relocated collection name header
lohit-bruno Apr 22, 2026
3535ac5
restore collection name heading in sidebar, scope e2e test accordingly
lohit-bruno Apr 23, 2026
39b4b49
Merge pull request #32 from lohit-bruno/fetch_in_bruno_button
naman-bruno Apr 23, 2026
8629061
chore: bumped version to 0.9.2
helloanoop May 13, 2026
f7d2c5d
Fix homepage URL in package.json (#36)
grandtele May 13, 2026
69f8bf5
Fix/strip json coments before send (#34)
EstebanDiaczunn May 13, 2026
9578577
feat: ux revamp (#38)
helloanoop May 13, 2026
8861e60
Bump opencollection packages to v0.9.2 (#39)
abhishek-bruno May 14, 2026
e9db8da
fix(docs): Incorrectly mark Path Parameters as Query Parameters (#41)
sachin-bruno Jun 12, 2026
77555b4
feat(oc-docs): centralized theming with Bruno light/dark themes (BRU-…
sundram-bruno Jun 16, 2026
f6968bd
fix(oc-docs): contextual error messages for failed try-it requests (B…
sundram-bruno Jun 17, 2026
e974ac6
Merge pull request #40 from sundram-bruno/fix/bru-3408-try-it-error-m…
bijin-bruno Jun 22, 2026
35148ce
BRU-3571 E2E folder structure changes (#46)
sachin-bruno Jun 23, 2026
39e8964
Feat(size/XXL):BRU 3571 - Overview revamp (#45)
sachin-bruno Jun 25, 2026
c32703a
feat(oc-docs): add sticky top navigation bar (#44)
sundram-bruno Jun 26, 2026
244e1b4
feat(oc-docs): page-based routing with slug navigation (#51)
sundram-bruno Jun 29, 2026
df8ef09
Open-in-Bruno: link to fetch.usebruno.com instead of a bruno:// deep …
sundram-bruno Jun 30, 2026
8f1d2f4
Feat(size/XXL) - Request page UI Revamp (#48)
sachin-bruno Jul 1, 2026
93c02f6
feat(oc-docs): endpoint search palette (BRU-3573) (#54)
sundram-bruno Jul 2, 2026
ef08ce7
feat(size/XXL):Environment UI revamp changes (#50)
sachin-bruno Jul 2, 2026
6ac0714
CDN URL build path change in opencollection (#57)
sachin-bruno Jul 2, 2026
fef9205
feat(size/XXL):Folder page UI revamp changes (#52)
sachin-bruno Jul 2, 2026
f7a067a
feat(size/XXL):UI changes & edge case handling for request pages (#55)
sachin-bruno Jul 4, 2026
f63d778
feat(oc-docs): sidebar redesign with collapse, mobile drawer and prot…
sundram-bruno Jul 4, 2026
3613791
docs(oc-docs): add CLAUDE.md file in .gitignore (#62)
sachin-bruno Jul 6, 2026
a55cb14
Added Tooltips, UI improvements, edge case handling (#58)
sachin-bruno Jul 6, 2026
87ddcf4
feat(oc-docs): environment switcher with resolved variables (BRU-3186…
sundram-bruno Jul 7, 2026
e6cbc3e
feat: Add support for SPARQL body type (#69)
vasharma05-bruno Jul 7, 2026
078a807
fix(oc-docs): sort sidebar/nav to mirror the Bruno app (BRU-3403) (#60)
sundram-bruno Jul 7, 2026
8d88951
fix(oc-docs): make endpoint search match object-form descriptions (#72)
sundram-bruno Jul 8, 2026
7a3ee1c
feat(file-body): add description field to file body variants and upda…
sid-bruno Jul 8, 2026
42fd2c3
feat: add forwardAuthorizationHeader option to GraphQL and HTTP r… (#49)
Gopi-bruno Jul 8, 2026
1031599
fix(oc-docs): apply query & path params to the sent request URL (BRU-…
arpit-bruno Jul 8, 2026
b85970b
feat(oc-docs): playground with docks, collection-root sidebar and ada…
sundram-bruno Jul 9, 2026
fe98887
feat(size/L):View Execution Context as tabs, and persist collapsed st…
sachin-bruno Jul 9, 2026
b017721
Show the collection version verbatim in the header (#78)
sundram-bruno Jul 9, 2026
bfe3c16
fix(oc-docs): use the --oc-text token for the overlay sidebar shadow …
sundram-bruno Jul 9, 2026
c8e0de6
feat(size/L):Added description field in the sections (#67)
sachin-bruno Jul 10, 2026
69731c2
feat(oc-docs): shared playground components — folderization, tests & …
vasharma05-bruno Jul 10, 2026
f008c0c
resolve built-in dynamic variables in playground (#68)
arpit-bruno Jul 10, 2026
216d6df
Fixes: API Key auth query placement is not applied (#81)
arpit-bruno Jul 10, 2026
69986dc
fix(oc-docs): percent-encode special characters in page slugs (#87)
sundram-bruno Jul 10, 2026
e7ae195
feat(size/XL):Variable info popup on hovering over collection (#73)
sachin-bruno Jul 10, 2026
acb062b
feat(oc-docs): collection settings page in the playground (#94)
sachin-bruno Jul 13, 2026
0f5b9e5
UI improvements across pages (#102)
sachin-bruno Jul 13, 2026
e683207
fix(oc-docs): sidebar + playground UI polish (#103)
sundram-bruno Jul 13, 2026
953ae4a
fix(oc-docs): always show Environments in the sidebar (#99)
sundram-bruno Jul 13, 2026
6a936f6
fix: Fix the collapsed editor on the response body (#100)
vasharma05-bruno Jul 14, 2026
293dcc2
improvement: Improve spacings in folder settings page (BRU-3789) (#101)
vasharma05-bruno Jul 14, 2026
4fc841d
feat(size/XL):Collection Docs Playground: redesign the collection set…
sachin-bruno Jul 15, 2026
d2651c5
docs: Add README and expand contributing guide (#64)
abhishek-bruno Jul 15, 2026
8b4deb7
feat(size/M):Data types changes (#79)
sachin-bruno Jul 15, 2026
5759995
playground: fix flat-shape request method + add multipart/file body s…
arpit-bruno Jul 15, 2026
797e63a
feat(size/S):Variable hover popup UI changes (#105)
sachin-bruno Jul 15, 2026
fb69ed2
Improved E2E for the files (#108)
sachin-bruno Jul 15, 2026
d4b50b9
chore(oc-docs): rename standalone bundle output to api-docs (#110)
sundram-bruno Jul 15, 2026
f146a06
feat(oc-docs): show response examples in docs and playground sidebars…
sundram-bruno Jul 16, 2026
03a726d
Fix(Size/M):Minor Bug fixes in the keyValue Table (#111)
sachin-bruno Jul 16, 2026
f869120
feat(size/M): UI Improvements across the pages (#112)
sachin-bruno Jul 16, 2026
3cbe83e
Bug(size/XS):Data type is not displayed for string values (#109)
sachin-bruno Jul 16, 2026
2687448
feat(oc-docs): Collection Docs Playground - redesign the environment …
arpit-bruno Jul 16, 2026
8f8659b
fix(oc-docs): sidebar reveal-on-reload, playground view persistence, …
sundram-bruno Jul 16, 2026
cdfa5c8
feat(oc-docs): migrate native selects to MenuDropdown (#113)
vasharma05-bruno Jul 16, 2026
b08f4b8
Added disabled badge for not enabled fields (#116)
sachin-bruno Jul 17, 2026
5f4bf45
feat: Improve the non-HTTP page layout (BRU-3833) (#107)
vasharma05-bruno Jul 17, 2026
e93191b
feat(oc-docs): revamp the playground request page (BRU-3788) (#117)
arpit-bruno Jul 17, 2026
70e2721
fix(oc-docs): UI improvements in playground, sidebar and main header …
sundram-bruno Jul 18, 2026
b185ab3
feat(oc-docs): Mobile view for playground (#122)
sundram-bruno Jul 18, 2026
8a52a1d
UI improvements (#120)
sachin-bruno Jul 18, 2026
9b796c5
fix(oc-docs): env page value tooltip + multiline values (BRU-3790) (#…
arpit-bruno Jul 20, 2026
1dbeea6
feat(oc-docs): deep-link response examples in playground and docs (BR…
sundram-bruno Jul 20, 2026
515cd60
fix(size/S):Removed two auth modes from auth options and fixed scroll…
sachin-bruno Jul 20, 2026
6b6b7b3
fix (oc-docs): Fix the heading for the request pages in the playgroun…
vasharma05-bruno Jul 20, 2026
9cecd49
fix:font consistent with bruno app (#84)
adwait-bruno Jul 20, 2026
2e60a2b
chore: version bump v0.10.0 (#75)
helloanoop Jul 20, 2026
dc29c8e
feat(oc-docs): add an Overview tab to the playground request pane (#127)
arpit-bruno Jul 20, 2026
5d8cbf2
fix(oc-docs): address PR #113 MenuDropdown review feedback (#121)
vasharma05-bruno Jul 20, 2026
cad59f6
feat(size/M):UI improvements - Changed the placement of opencollectio…
sachin-bruno Jul 21, 2026
1193f49
Fix(size/M): Variable data type not taking up while sending the reque…
sachin-bruno Jul 21, 2026
091ee9d
release: v0.11.0 (#134)
helloanoop Jul 21, 2026
e70af0c
chore: graft onto initial commit
arpit-bruno Jul 21, 2026
356427d
chore: scope workspace to oc-docs and resolve types from npm
arpit-bruno Jul 21, 2026
cedb42f
docs: repo-specific README and contributing
arpit-bruno Jul 21, 2026
1efaa41
fix(oc-docs): center collapsed search overlay within the docs area (#…
vasharma05-bruno Jul 21, 2026
f40406d
feat(oc-docs): typo-tolerant endpoint search via Fuse.js (#131)
sundram-bruno Jul 21, 2026
36fcec6
UI improvements (#135)
sachin-bruno Jul 21, 2026
25c92e6
fix(oc-docs): fill playground sidebar icon when open, drop method bg …
sundram-bruno Jul 21, 2026
b2518b5
fix(oc-docs): dismiss playground overlay sidebar on outside click and…
sundram-bruno Jul 22, 2026
1676424
fix(oc-docs): cap menu dropdown height so long lists scroll (#137)
vasharma05-bruno Jul 22, 2026
2ab6b6f
fix(oc-docs): unify topbar control heights to 28px and convert sizing…
sundram-bruno Jul 22, 2026
cae004e
UI improvements (#142)
sachin-bruno Jul 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
35 changes: 35 additions & 0 deletions .github/workflows/e2e.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: E2E Tests

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
e2e:
runs-on: ubuntu-latest
defaults:
run:
working-directory: packages/oc-docs
steps:
- uses: actions/checkout@v4

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

- run: npm ci
working-directory: .

- run: npx playwright install --with-deps chromium

- run: npm run test:e2e

- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: packages/oc-docs/playwright-report/
retention-days: 30
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
node_modules
dist
.DS_Store
dist-standalone
test.js

# Claude Code
.claude/
CLAUDE.md
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v22.11.0
24 changes: 23 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
# bruno-api-docs

Interactive API documentation + playground (@opencollection/docs).
`@opencollection/docs` — an interactive API documentation site and request playground for the [OpenCollection](https://www.opencollection.com) format.

Point it at an OpenCollection and it renders a browsable docs site: a sidebar of requests, per-request documentation (params, headers, body, auth, scripts, assertions), and a live playground that sends the request and shows the response.

## Install

```bash
npm install @opencollection/docs
```

## Usage

It ships three ways:

- **React component** — import `OpenCollection` and pass it a collection.
- **Standalone bundle** — a self-contained JS/CSS build (`dist-standalone/`) for dropping into any page, served from the CDN.
- **Express / server entry** — render the docs from a Node server.

See [`examples/`](./examples) for a working setup of each (`react`, `standalone-html`, `express-server`).

## Development

Work happens in `packages/oc-docs`. See [contributing.md](./contributing.md) for setup, dev/test/build commands, and the PR flow.
41 changes: 41 additions & 0 deletions contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Contributing to bruno-api-docs

Thanks for your interest. This repo holds `@opencollection/docs`, the interactive API documentation site and request playground for the [OpenCollection](https://www.opencollection.com) format.

## Prerequisites

- Node.js `v22.11.0` (see [`.nvmrc`](./.nvmrc)). With nvm: `nvm use`.
- npm (ships with Node).

## Setup

```bash
git clone https://github.com/usebruno/bruno-api-docs.git
cd bruno-api-docs
npm install
```

## Development

Run these from `packages/oc-docs`:

| Task | Command |
|------|---------|
| Dev server | `npm run dev` |
| Unit tests | `npm run test:run` (watch: `npm test`) |
| E2E tests | `npm run test:e2e` |
| Lint | `npm run lint` |
| Build | `npm run build` (CDN bundle: `npm run build:standalone`) |

## Making changes

1. Open or comment on an issue first for anything beyond a small fix.
2. Create a branch from `main`.
3. Make your change and add or update tests. Run `npm run lint` and `npm run test:run` before pushing; run `npm run test:e2e` when UI behavior changed.
4. Open a pull request against `main` describing the change and linking the issue.

Continuous integration runs the end-to-end tests on pull requests via GitHub Actions.

## Reporting issues

File issues on [GitHub](https://github.com/usebruno/bruno-api-docs/issues). For bugs, include the smallest collection that reproduces the problem and what you expected to happen.
Loading
Loading