Skip to content

docs: Add NeatLogs integration videos to documentation#5940

Open
dotslashsimran wants to merge 5 commits into
crewAIInc:mainfrom
dotslashsimran:neatlogs/update-docs-and-assets
Open

docs: Add NeatLogs integration videos to documentation#5940
dotslashsimran wants to merge 5 commits into
crewAIInc:mainfrom
dotslashsimran:neatlogs/update-docs-and-assets

Conversation

@dotslashsimran
Copy link
Copy Markdown

@dotslashsimran dotslashsimran commented May 26, 2026

Summary

Enhanced the NeatLogs integration documentation with 4 demo videos showcasing key features:

  • Step 4: Traces logged directly in dashboard
  • Step 5: Experiments & prompt versioning
  • Step 6: Code fixes directly in IDE
  • Step 7: Human evaluations workflow

Also removed unnecessary image from step 1 to streamline the setup guide.

Changes

  • Updated docs/en/observability/neatlogs.mdx with embedded videos
  • Added 4 MP4 demo videos to docs/images/
  • Removed static image from step 1 for cleaner presentation

Visual Preview

The updated documentation now features:

  • Clear 7-step setup workflow
  • Engaging demo videos for each major feature
  • Consistent visual style with other documentation

🎬 Generated with Claude Code

Summary by CodeRabbit

Release Notes

  • Documentation
    • Completely restructured Neatlogs CrewAI integration documentation for improved clarity
    • Updated quick setup instructions with new initialization guidance and API configuration requirements
    • Added comprehensive feature overview section with card-based descriptions
    • Enhanced resources section with improved navigation and updated reference links

Review Change Stack

Simran Sachdeva and others added 5 commits May 14, 2026 02:07
- Full rewrite of neatlogs.mdx: cleaner structure, updated setup code, feature cards, pricing removed
- Replace screenshots with new assets (neatlogs-2, 3, 4)
- Add YouTube demo video in place of first image
- Fix title to show "Neatlogs Integration" in sidenav

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add embedded video to step 6 'Human evaluations' in NeatLogs integration docs
- Video demonstrates code fix suggestions in IDE (Cursor, Claude Code, etc.)
- Same embedding pattern as other steps for consistency

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Replace step 7 image with embedded video demonstrating human evaluation workflow
- Add evals video file to docs/images

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Replace step 5 image with embedded video demonstrating prompt versioning and experiments workflow
- Add experiments video file to docs/images

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Remove Frame and img elements from "Sign up and get your API key" step
- Keep the text description only

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 26, 2026

📝 Walkthrough

Walkthrough

The Neatlogs integration documentation page was substantially redesigned. Updated frontmatter and hero section introduce the integration with refreshed description and YouTube embed. New "What is Neatlogs?" section replaces prior narrative with feature cards. "Quick Setup" now emphasizes calling neatlogs.init() before importing CrewAI with revised code examples using environment variables. "Resources" section converted to card-based layout with updated links.

Changes

Neatlogs integration documentation

Layer / File(s) Summary
Page metadata and hero section
docs/en/observability/neatlogs.mdx
Frontmatter sets page title, description, icon, and layout; hero section replaces prior introduction with new description text and YouTube embed.
Feature capabilities overview
docs/en/observability/neatlogs.mdx
"What is Neatlogs?" section replaces prior narrative with grid of six feature cards describing Trace Viewer, AI-Powered Search, Inline Comments, Feedback & Evaluation, Ask the Trace, and Public Sharing.
Integration setup guide
docs/en/observability/neatlogs.mdx
"Quick Setup" rebuilt to emphasize calling neatlogs.init() before importing CrewAI, with updated code sample using environment variables (NEATLOGS_API_KEY, NEATLOGS_ENDPOINT), workflow_name, and instrumentations=["crewai"]; includes additional embedded video sections.
Resources and reference links
docs/en/observability/neatlogs.mdx
"Resources" section converted to card-based layout with four updated reference cards for docs, dashboard/API key, GitHub SDK, and email contact.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Poem

🐰 A Neatlogs guide now shines so bright,
With cards and hero clips in sight,
Setup flows with init() first,
Resources link-blessed, quenching thirst,
Documentation hops to new height! ✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the primary change: adding NeatLogs integration videos to documentation as shown in the PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/en/observability/neatlogs.mdx`:
- Around line 21-31: Remove the commented-out TODO placeholder block that
contains "ADD YOUTUBE VIDEO HERE" and the commented iframe JSX (the multi-line
{/* ... */} block containing <iframe ... />) from the docs page; simply delete
that entire commented block so the obsolete placeholder and comments are not
left in docs/en/observability/neatlogs.mdx (the iframe/comment block is the
unique identifier to locate and remove).
- Around line 90-92: The markdown references a missing video asset
src="/images/neatlogs-traces.mp4" inside the <video> element (seen in the <video
autoPlay loop muted playsInline className="w-full rounded-xl"> block); fix this
by either adding the missing file neatlogs-traces.mp4 into the docs/images/
directory or updating the src attribute to the correct existing asset path
(matching how neatlogs-experiments.mp4, neatlogs-codefixes.mp4, and
neatlogs-evals.mp4 are referenced) so the <source src="..."> points to a present
file.
- Around line 59-61: The docs currently instruct users to copy NEATLOGS_API_KEY
but the Quick Setup example calls neatlogs.init(...
endpoint=os.environ["NEATLOGS_ENDPOINT"], ...), which will raise a KeyError and
doesn't explain where to get NEATLOGS_ENDPOINT; either remove the endpoint
argument from the neatlogs.init example (so the SDK uses its default endpoint)
or update the guide to add a short step explaining how to obtain/set
NEATLOGS_ENDPOINT (include the env var name NEATLOGS_ENDPOINT and an example
value such as the provider default like https://api.neatlogs.com/v4/batch) and
change the code to safely read the env var (or document that it’s optional).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f635411f-9999-49c1-8890-e35c49376acb

📥 Commits

Reviewing files that changed from the base of the PR and between 952c84c and 94d60dc.

⛔ Files ignored due to path filters (6)
  • docs/images/neatlogs-2.png is excluded by !**/*.png
  • docs/images/neatlogs-3.png is excluded by !**/*.png
  • docs/images/neatlogs-4.png is excluded by !**/*.png
  • docs/images/neatlogs-codefixes.mp4 is excluded by !**/*.mp4
  • docs/images/neatlogs-evals.mp4 is excluded by !**/*.mp4
  • docs/images/neatlogs-experiments.mp4 is excluded by !**/*.mp4
📒 Files selected for processing (1)
  • docs/en/observability/neatlogs.mdx

Comment on lines +21 to +31
{/* ADD YOUTUBE VIDEO HERE - team to provide URL */}
{/*
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.loom.com/embed/9c78b552af43452bb3e4783cb8d91230?sid=e9d7d370-a91a-49b0-809e-2f375d9e801d"
title="Loom video player"
src="https://www.youtube.com/embed/YOUR_VIDEO_ID"
title="What is Neatlogs"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>

/>
*/}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Remove commented-out TODO code from production documentation.

The commented placeholder and TODO note should be removed. A YouTube video is already embedded in the hero section above (lines 10-17), making this TODO obsolete and confusing.

🧹 Proposed cleanup
 ## What is Neatlogs?
 
-{/* ADD YOUTUBE VIDEO HERE - team to provide URL */}
-{/*
-<iframe
-  className="w-full aspect-video rounded-xl"
-  src="https://www.youtube.com/embed/YOUR_VIDEO_ID"
-  title="What is Neatlogs"
-  frameBorder="0"
-  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
-  allowFullScreen
-/>
-*/}
-
 Agent failures rarely throw exceptions. They produce wrong outputs, miss tool calls, or hallucinate. Neatlogs gives your team the full picture: what the agent decided, why, and where it went wrong.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{/* ADD YOUTUBE VIDEO HERE - team to provide URL */}
{/*
<iframe
className="w-full aspect-video rounded-xl"
src="https://www.loom.com/embed/9c78b552af43452bb3e4783cb8d91230?sid=e9d7d370-a91a-49b0-809e-2f375d9e801d"
title="Loom video player"
src="https://www.youtube.com/embed/YOUR_VIDEO_ID"
title="What is Neatlogs"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>
/>
*/}
## What is Neatlogs?
Agent failures rarely throw exceptions. They produce wrong outputs, miss tool calls, or hallucinate. Neatlogs gives your team the full picture: what the agent decided, why, and where it went wrong.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/en/observability/neatlogs.mdx` around lines 21 - 31, Remove the
commented-out TODO placeholder block that contains "ADD YOUTUBE VIDEO HERE" and
the commented iframe JSX (the multi-line {/* ... */} block containing <iframe
... />) from the docs page; simply delete that entire commented block so the
obsolete placeholder and comments are not left in
docs/en/observability/neatlogs.mdx (the iframe/comment block is the unique
identifier to locate and remove).

Comment on lines +59 to +61
<Step title="Sign up and get your API key">
Go to [neatlogs.com](https://neatlogs.com/?utm_source=crewAI-docs), create a project, and copy the API key from your dashboard.
</Step>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

What parameters are required for neatlogs.init() and where do users get the endpoint value for the Neatlogs Python SDK?

💡 Result:

The neatlogs.init function in the Neatlogs Python SDK is used to initialize the SDK and configure tracking for your application [1][2]. It should be called at the very beginning of your entrypoint script, before importing any instrumented libraries (such as LangChain or OpenAI), to ensure the SDK can properly patch and trace those libraries [3][1]. Required and Optional Parameters: The primary required parameter is: - api_key (str): Your Neatlogs API key [1][2]. Common optional parameters include: - endpoint (str): A custom API endpoint URL. If you need to override the default, the typical value used in documentation is https://api.neatlogs.com/v4/batch [1]. - instrumentations (list[str]): A list of frameworks to automatically instrument (e.g., ["openai", "langchain", "crewai"]) [3][1]. - workflow_name (str): A name for the workflow or project [3][1]. - metadata (dict): A dictionary for global metadata (e.g., {"env": "production"}) [1]. - tags (list[str]): A list of tags to associate with the traces [2]. - auto_session (bool): Set to True to enable automatic session grouping for traces [4]. Regarding the endpoint value: For most standard use cases, you do not need to provide an endpoint parameter at all; the SDK defaults to the official Neatlogs platform [1]. If you are required to use a specific or custom endpoint (such as for on-premise installations or proxying), this value is provided by your Neatlogs account administrator or via your organization's internal documentation [1][5]. The default value often cited in SDK examples is https://api.neatlogs.com/v4/batch [1].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE="docs/en/observability/neatlogs.mdx"

echo "== File: $FILE =="
wc -l "$FILE"
# Print lines around 45-90 to capture Step 1 and the init snippet
nl -ba "$FILE" | sed -n '40,110p'

Repository: crewAIInc/crewAI

Length of output: 207


🏁 Script executed:

#!/bin/bash
set -euo pipefail

FILE="docs/en/observability/neatlogs.mdx"

echo "== Lines 45-90 =="
cat -n "$FILE" | sed -n '45,90p'

echo
echo "== Lines 90-130 =="
cat -n "$FILE" | sed -n '90,130p'

Repository: crewAIInc/crewAI

Length of output: 4438


🏁 Script executed:

#!/bin/bash
set -euo pipefail

rg -n "NEATLOGS_ENDPOINT" -S . || true
rg -n "endpoint\s*=" -S docs/en/observability/neatlogs.mdx || true
rg -n "NEATLOGS_API_KEY|NEATLOGS_ENDPOINT" -S docs/en/observability/neatlogs.mdx || true

Repository: crewAIInc/crewAI

Length of output: 307


Document NEATLOGS_ENDPOINT setup (or remove it from the Quick Setup example).

“Sign up and get your API key” (lines 59-61) only tells users to copy NEATLOGS_API_KEY, but the init snippet later requires endpoint=os.environ["NEATLOGS_ENDPOINT"] (line 76). The guide doesn’t explain where to get/set NEATLOGS_ENDPOINT, and with the current os.environ[...] access users will hit a KeyError unless it’s set. Either add explicit instructions for obtaining the endpoint (and/or mention the SDK default) or drop the endpoint argument from the example so users can follow the steps without extra env vars.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/en/observability/neatlogs.mdx` around lines 59 - 61, The docs currently
instruct users to copy NEATLOGS_API_KEY but the Quick Setup example calls
neatlogs.init(... endpoint=os.environ["NEATLOGS_ENDPOINT"], ...), which will
raise a KeyError and doesn't explain where to get NEATLOGS_ENDPOINT; either
remove the endpoint argument from the neatlogs.init example (so the SDK uses its
default endpoint) or update the guide to add a short step explaining how to
obtain/set NEATLOGS_ENDPOINT (include the env var name NEATLOGS_ENDPOINT and an
example value such as the provider default like
https://api.neatlogs.com/v4/batch) and change the code to safely read the env
var (or document that it’s optional).

Comment on lines +90 to +92
<video autoPlay loop muted playsInline className="w-full rounded-xl">
<source src="/images/neatlogs-traces.mp4" type="video/mp4" />
</video>
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify that all referenced video files exist in the repository

echo "Checking for video files..."
for video in neatlogs-traces.mp4 neatlogs-experiments.mp4 neatlogs-codefixes.mp4 neatlogs-evals.mp4; do
  if fd -t f "^${video}$" docs/images/; then
    echo "✓ Found: ${video}"
  else
    echo "✗ Missing: ${video}"
  fi
done

Repository: crewAIInc/crewAI

Length of output: 314


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Checking exact file paths:"
for video in neatlogs-traces.mp4 neatlogs-experiments.mp4 neatlogs-codefixes.mp4 neatlogs-evals.mp4; do
  p="docs/images/$video"
  if [ -f "$p" ]; then
    echo "✓ Present: $p"
  else
    echo "✗ Missing: $p"
  fi
done

Repository: crewAIInc/crewAI

Length of output: 266


Fix missing video asset for neatlogs-traces.

/images/neatlogs-traces.mp4 (referenced at lines 90-92 and also 97-99) is missing from docs/images/ (docs/images/neatlogs-traces.mp4 not found). Add it to docs/images/ (or update the src to the correct existing path). The other referenced videos (neatlogs-experiments.mp4, neatlogs-codefixes.mp4, neatlogs-evals.mp4) are present.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/en/observability/neatlogs.mdx` around lines 90 - 92, The markdown
references a missing video asset src="/images/neatlogs-traces.mp4" inside the
<video> element (seen in the <video autoPlay loop muted playsInline
className="w-full rounded-xl"> block); fix this by either adding the missing
file neatlogs-traces.mp4 into the docs/images/ directory or updating the src
attribute to the correct existing asset path (matching how
neatlogs-experiments.mp4, neatlogs-codefixes.mp4, and neatlogs-evals.mp4 are
referenced) so the <source src="..."> points to a present file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant