docs: Add NeatLogs integration videos to documentation#5940
docs: Add NeatLogs integration videos to documentation#5940dotslashsimran wants to merge 5 commits into
Conversation
- 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>
📝 WalkthroughWalkthroughThe 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 ChangesNeatlogs integration documentation
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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
⛔ Files ignored due to path filters (6)
docs/images/neatlogs-2.pngis excluded by!**/*.pngdocs/images/neatlogs-3.pngis excluded by!**/*.pngdocs/images/neatlogs-4.pngis excluded by!**/*.pngdocs/images/neatlogs-codefixes.mp4is excluded by!**/*.mp4docs/images/neatlogs-evals.mp4is excluded by!**/*.mp4docs/images/neatlogs-experiments.mp4is excluded by!**/*.mp4
📒 Files selected for processing (1)
docs/en/observability/neatlogs.mdx
| {/* 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> | ||
|
|
||
| /> | ||
| */} |
There was a problem hiding this comment.
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.
| {/* 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).
| <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> |
There was a problem hiding this comment.
🧩 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:
- 1: https://pypi.org/project/neatlogs/
- 2: https://github.com/NeatLogs/neatlogs
- 3: https://docs.neatlogs.com/quickstart/your-first-trace
- 4: https://docs.neatlogs.com/guides/chatbot-sessions
- 5: https://www.neatlogs.com/
🏁 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 || trueRepository: 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).
| <video autoPlay loop muted playsInline className="w-full rounded-xl"> | ||
| <source src="/images/neatlogs-traces.mp4" type="video/mp4" /> | ||
| </video> |
There was a problem hiding this comment.
🧩 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
doneRepository: 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
doneRepository: 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.
Summary
Enhanced the NeatLogs integration documentation with 4 demo videos showcasing key features:
Also removed unnecessary image from step 1 to streamline the setup guide.
Changes
docs/en/observability/neatlogs.mdxwith embedded videosdocs/images/Visual Preview
The updated documentation now features:
🎬 Generated with Claude Code
Summary by CodeRabbit
Release Notes