Skip to content

docs: Add NeatLogs integration videos to documentation - #5940

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

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

Conversation

@dotslashsimran

@dotslashsimran dotslashsimran commented May 26, 2026

Copy link
Copy Markdown

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

@coderabbitai

coderabbitai Bot commented May 26, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The Neatlogs integration page was rewritten with updated metadata, feature cards, setup code, capability videos, and resource links.

Changes

Neatlogs integration documentation

Layer / File(s) Summary
Page metadata and feature overview
docs/edge/en/observability/neatlogs.mdx
The page metadata and introduction are updated. A YouTube embed and feature cards describe Neatlogs capabilities.
Integration setup and capability guide
docs/edge/en/observability/neatlogs.mdx
The setup code loads NEATLOGS_API_KEY and passes workflow_name and instrumentations. New sections and videos cover trace capture, experiments, IDE fixes, and human evaluations.
Resources and reference links
docs/edge/en/observability/neatlogs.mdx
The previous support links and TL;DR are replaced with resource cards for documentation, dashboard access, the GitHub SDK, and contact information.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: adding NeatLogs integration videos to the documentation.
Description check ✅ Passed The description directly explains the documentation updates, embedded videos, added assets, and removed image.
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.
✨ 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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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 thread docs/en/observability/neatlogs.mdx Outdated
Comment thread docs/edge/en/observability/neatlogs.mdx
Comment thread docs/edge/en/observability/neatlogs.mdx
@github-actions

Copy link
Copy Markdown
Contributor

This PR is stale because it has been open for 45 days with no activity.

Copilot AI lite review requested due to automatic review settings July 28, 2026 21:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Updates the Neatlogs observability documentation to better demonstrate key product workflows by restructuring the page and embedding multiple demo videos directly into the guide.

Changes:

  • Reworked docs/en/observability/neatlogs.mdx into a clearer “What is / Quick Setup / Resources” flow.
  • Embedded a YouTube overview and added four inline MP4 demos for core Neatlogs features.
  • Streamlined the setup steps by removing older static imagery and consolidating feature descriptions into cards.

Reviewed changes

Copilot reviewed 1 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
docs/en/observability/neatlogs.mdx Restructures the Neatlogs integration doc, adds embeds (YouTube + MP4), and updates setup instructions/resources.
docs/images/neatlogs-traces.mp4 Demo video referenced by the “Traces logged directly in your dashboard” step.
docs/images/neatlogs-experiments.mp4 Demo video referenced by the “Experiments” step.
docs/images/neatlogs-codefixes.mp4 Demo video referenced by the “Code fixes directly in your IDE” step.
docs/images/neatlogs-evals.mp4 Demo video referenced by the “Human evaluations” step.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +62 to +66
neatlogs.init(
api_key=os.environ["NEATLOGS_API_KEY"],
workflow_name="my-agent",
instrumentations=["crewai"],
)
Comment thread docs/en/observability/neatlogs.mdx Outdated
<Card title="Neatlogs Docs" icon="book" href="https://docs.neatlogs.com/">
Full SDK reference and integration guides
</Card>
<Card title="Dashboard & API Key" icon="key" href="https://neatlogs.com/?utm_source=crewAI-docs">
Comment thread docs/en/observability/neatlogs.mdx Outdated
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
/>
Copilot AI review requested due to automatic review settings July 28, 2026 21:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 8 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (5)

docs/en/observability/neatlogs.mdx:57

  • The setup snippet reads NEATLOGS_API_KEY from the environment, but the steps never mention setting that variable. As written, readers can copy/paste the code and end up passing None as the API key (or otherwise failing), even though step 1 only says “copy the API key”. Add an explicit note about exporting NEATLOGS_API_KEY (or passing the key directly) before the snippet.
  <Step title="Add this before your Crew runs">
    Call `neatlogs.init()` before importing CrewAI so the auto-instrumentation patches land first.

docs/en/observability/neatlogs.mdx:84

  • This demo video is set to autoplay. Autoplaying motion content can be problematic for accessibility (and is distracting in docs), and it forces immediate media download. Prefer user-initiated playback with controls.
    <video autoPlay loop muted playsInline className="w-full rounded-xl">

docs/en/observability/neatlogs.mdx:91

  • This demo video is set to autoplay. Autoplaying motion content can be problematic for accessibility (and is distracting in docs), and it forces immediate media download. Prefer user-initiated playback with controls.
    <video autoPlay loop muted playsInline className="w-full rounded-xl">

docs/en/observability/neatlogs.mdx:98

  • This demo video is set to autoplay. Autoplaying motion content can be problematic for accessibility (and is distracting in docs), and it forces immediate media download. Prefer user-initiated playback with controls.
    <video autoPlay loop muted playsInline className="w-full rounded-xl">

docs/en/observability/neatlogs.mdx:77

  • These demo videos are set to autoplay. Autoplaying motion content can be problematic for accessibility (and is distracting in docs), and it forces immediate media download. Prefer user-initiated playback with controls.

This issue also appears in the following locations of the same file:

  • line 84
  • line 91
  • line 98
    <video autoPlay loop muted playsInline className="w-full rounded-xl">

crewAI adopted directory-based docs versioning with an Edge channel
(crewAIInc#6202) while this PR was open, moving the live docs tree from
docs/en/ to docs/edge/en/. That commit relocated whatever was still
at docs/en/observability/neatlogs.mdx on main at the time, which was
the pre-PR version of this page, none of this PR's improvements had
landed yet.

This carries the PR's actual current state (updated copy, demo
videos, and refreshed screenshots) onto the new docs/edge/en/ path so
it lands on the live docs tree instead of a frozen version snapshot.

No content changes beyond the path move, this is the same page
already reviewed by CodeRabbit and GitHub Copilot on this PR.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dotslashsimran
dotslashsimran force-pushed the neatlogs/update-docs-and-assets branch from 3cb8c9e to dbb7b62 Compare August 6, 2026 10:24
Copilot AI review requested due to automatic review settings August 6, 2026 10:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 1 out of 8 changed files in this pull request and generated no new comments.

Suppressed comments (4)

docs/edge/en/observability/neatlogs.mdx:84

  • These videos autoplay and loop. Autoplaying motion content can be hard to pause/stop for some users and may hurt performance (large MP4s downloading immediately). Consider disabling autoplay/loop and adding controls + a conservative preload setting.
    <video autoPlay loop muted playsInline className="w-full rounded-xl">

docs/edge/en/observability/neatlogs.mdx:91

  • These videos autoplay and loop. Autoplaying motion content can be hard to pause/stop for some users and may hurt performance (large MP4s downloading immediately). Consider disabling autoplay/loop and adding controls + a conservative preload setting.
    <video autoPlay loop muted playsInline className="w-full rounded-xl">

docs/edge/en/observability/neatlogs.mdx:98

  • These videos autoplay and loop. Autoplaying motion content can be hard to pause/stop for some users and may hurt performance (large MP4s downloading immediately). Consider disabling autoplay/loop and adding controls + a conservative preload setting.
    <video autoPlay loop muted playsInline className="w-full rounded-xl">

docs/edge/en/observability/neatlogs.mdx:77

  • These videos autoplay and loop. Autoplaying motion content can be hard to pause/stop for some users and may hurt performance (large MP4s downloading immediately). Consider disabling autoplay/loop and adding controls + a conservative preload setting.

This issue also appears in the following locations of the same file:

  • line 84
  • line 91
  • line 98
    <video autoPlay loop muted playsInline className="w-full rounded-xl">

@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 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/edge/en/observability/neatlogs.mdx`:
- Around line 113-115: Update the GitHub SDK Card for NeatLogs to state Python
3.10+ instead of Python 3.8+, matching the currently supported SDK compatibility
range.
- Around line 62-72: Update the CrewAI example around neatlogs.init and the Crew
usage to remove instrumentations=["crewai"], instantiate the crew normally, then
call neatlogs.wrap(crew) before execution. Add flush/shutdown handling after
crew.kickoff() for short-lived scripts, and remove the statement claiming no
other code changes are needed.
🪄 Autofix

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: bf85edcb-7246-45c5-87d4-fb426cfda653

📥 Commits

Reviewing files that changed from the base of the PR and between 18c52c4 and dbb7b62.

⛔ Files ignored due to path filters (7)
  • 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
  • docs/images/neatlogs-traces.mp4 is excluded by !**/*.mp4
📒 Files selected for processing (1)
  • docs/edge/en/observability/neatlogs.mdx

Comment on lines +62 to +72
neatlogs.init(
api_key=os.getenv("NEATLOGS_API_KEY"),
workflow_name="my-agent",
instrumentations=["crewai"],
)

# Now import and run your crew as normal
from crewai import Crew, Agent, Task
```

## Watch It Work

### 🔍 Full Demo (4 min)

<iframe
className="w-full aspect-video rounded-xl"
src="https://www.youtube.com/embed/8KDme9T2I7Q?si=b8oHteaBwFNs_Duk"
title="NeatLogs overview"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowFullScreen
></iframe>

### ⚙️ CrewAI Integration (30 s)

<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"
frameBorder="0"
allowFullScreen
></iframe>



## Links & Support

- 📘 [Neatlogs Docs](https://docs.neatlogs.com/)
- 🔐 [Dashboard & API Key](https://app.neatlogs.com/)
- 🐦 [Follow on Twitter](https://twitter.com/neatlogs)
- 📧 Contact: hello@neatlogs.com
- 🛠 [GitHub SDK](https://github.com/NeatLogs/neatlogs)


That's it — no changes to the rest of your code.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

According to the current Neatlogs Python CrewAI integration documentation, should users pass instrumentations=["crewai"], or call neatlogs.wrap(crew)? Does a short-lived CrewAI script need neatlogs.flush()andneatlogs.shutdown()?

💡 Result:

According to the current Neatlogs documentation, users should use neatlogs.wrap(crew) to instrument CrewAI; they should explicitly NOT pass instrumentations=["crewai"] in neatlogs.init [1][2][3]. The wrap method patches the necessary components directly to capture agents, tasks, tools, and LLM calls [1][2]. For short-lived CrewAI scripts, yes, users must call neatlogs.flush and neatlogs.shutdown at the end of the execution [4][5]. Because the Neatlogs SDK batches spans and exports them in the background on a timer, a short-lived script may exit before the background export fires, causing data to be lost [4]. Calling flush forces an immediate export of the pending spans, and shutdown stops the background thread cleanly [4].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "## nealtlogs docs file excerpt"
sed -n '30,130p' docs/edge/en/observability/neatlogs.mdx || true

echo
echo "## neatlogs references in docs"
rg -n "instrumentations=|neatlogs\.wrap|neatlogs\.flush|neatlogs\.shutdown|neatlogs\.init|crewai" docs/edge/en/observability/neatlogs.mdx || true

echo
echo "## relevant external docs snippets"
python3 - <<'PY'
from urllib.request import urlopen
urls = [
    "https://docs.neatlogs.com/integrations/crewai",
    "https://docs.neatlogs.com/reference/init-reference",
    "https://docs.neatlogs.com/guides/multi-framework",
]
for url in urls:
    print(f"\n### {url}")
    try:
        text = urlopen(url, timeout=20).read().decode("utf-8")
        for needle in ["instrumentations", "neatlogs.wrap", "neatlogs.flush", "neatlogs.shutdown"] :
            idx = text.lower().find(needle.lower())
            if idx != -1:
                start = max(0, idx - 500)
                end = min(len(text), idx + 900)
                print(text[start:end].replace("\n", " "))
    except Exception as e:
        print(f"ERROR: {e}")
PY

Repository: crewAIInc/crewAI

Length of output: 4794


Use neatlogs.wrap(crew) for CrewAI.

Line 65 passes instrumentations=["crewai"], but the supported CrewAI integration calls neatlogs.wrap(crew). Update the example to show wrapping after Crew(...) and flush/shutdown after crew.kickoff() for short-lived scripts; remove the “no changes to the rest of your code” statement.

🤖 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/edge/en/observability/neatlogs.mdx` around lines 62 - 72, Update the
CrewAI example around neatlogs.init and the Crew usage to remove
instrumentations=["crewai"], instantiate the crew normally, then call
neatlogs.wrap(crew) before execution. Add flush/shutdown handling after
crew.kickoff() for short-lived scripts, and remove the statement claiming no
other code changes are needed.

Comment on lines +113 to +115
<Card title="GitHub SDK" icon="github" href="https://github.com/NeatLogs/neatlogs">
MIT licensed · Python 3.8+
</Card>

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🌐 Web query:

What Python versions does the current Neatlogs Python SDK support?

💡 Result:

The current Neatlogs Python SDK supports Python versions 3.10 and newer, up to (but excluding) 3.14 [1][2][3]. This requirement is explicitly stated in the SDK documentation, its PyPI metadata, and its project configuration files [3][4].

Citations:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Inspect the referenced card without running repository code.
if [ -f "docs/edge/en/observability/neatlogs.mdx" ]; then
  sed -n '105,120p' docs/edge/en/observability/neatlogs.mdx
else
  echo "Referenced file missing"
fi

printf '\n--- Neatlogs Python SDK version hints in repository (if present) ---\n'
rg -n "3\.8|3\.1[0-9]|python_requires|requires-python|pyproject\.toml|neatlogs" -S --glob '!node_modules' --glob '!dist' --glob '!build' --glob '!*.lock' . | head -n 80

Repository: crewAIInc/crewAI

Length of output: 8137


Correct the Neatlogs Python compatibility claim.

The card says Python 3.8+, but the current Neatlogs Python SDK supports Python 3.10 through 3.13. Update this to Python 3.10+, or link a specific SDK release that supports Python 3.8.

🤖 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/edge/en/observability/neatlogs.mdx` around lines 113 - 115, Update the
GitHub SDK Card for NeatLogs to state Python 3.10+ instead of Python 3.8+,
matching the currently supported SDK compatibility range.

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.

2 participants