Roo Activity Logger

by annenpolka

24 stars
174 downloads
Not rated
GitHub

About

Automatically logs AI coding assistant activities, such as command executions and code generation, into searchable JSON files.

Details

Author
annenpolka
GitHub stars
24
Downloads
174
Categories
Developer Tools, Other

- Records six activity types: command_execution, code_generation, file_operation, error_encountered, decision_made, conversation.
- Each log includes a unique ID, timestamp, type, level, summary, details, intention, context, and parent/related IDs.
- Logs are saved as date-based JSON files in a user-specified directory.
- Searchable by type, level, date range, text, parent ID, sequence, and related IDs.
- Supports multiple AI coding assistants and is customizable via the save directory.

Add the server configuration to your MCP settings file (e.g., for Cline, Roo-Code, or Claude Code) using npx with the package github:annenpolka/roo-logger. Then add prompts to your rule files (or CLAUDE.md) to instruct the AI to use the log_activity, search_logs, and get_log_files tools. The logsDir parameter must be an absolute path.

Roo Activity Logger

日本語版はこちら | 中文版

TL;DR

- What is it? — This is an MCP server that automatically logs AI coding assistant activities such as command executions and code generation (supports Roo Code, Cline, Claude Code, etc.).
- What does it do? — It saves activity history as JSON files, which you can search and analyze later.
- How do I use it? — Add it to your Claude Code, Cline, or Roo-Code settings to enable automatic activity logging.

Overview

Roo Activity Logger is an MCP (Model Context Protocol) server that automatically records AI coding assistant development activities — including command executions, code generation, file operations, and more. It supports Claude Code, Cline, Roo-Code, and other MCP-compatible AI assistants.
All logs are saved in JSON format, making it easy to search, analyze, and restore context at any time.

How activity logging works

flowchart TD
    A[Roo's Action] --> B[Select Activity Type]
    B --> C[Log via log_activity]
    C --> D[Provide Log Info<br>- Summary<br>- Details<br>- Intention<br>- Context]
    D --> E[Specify Save Directory]
    E --> F[Save as JSON file]

How to search logs and restore context when resuming a task

flowchart TD
    G[Resume Task] --> H[Search with search_logs]
    H --> I[Set Search Filters<br>- Type<br>- Date Range<br>- Text]
    I --> J[Retrieve Related Activities<br>- Parent/Child<br>- Sequence<br>- Related IDs]
    J --> K[Restore Context & Resume<br>- Review Past Intentions<br>- Understand Progress]

Sample Log Entry

Here is an example of a file_operation log entry saved as JSON:

{
  "id": "75add15d-8d5b-4e60-b327-fde785050c86",
  "timestamp": "2025-04-10T01:58:02.905Z",
  "type": "file_operation",
  "level": "info",
  "summary": "Inserted mermaid diagram into README.md",
  "details": {
    "file": "README.md",
    "operation": "insert_content",
    "insertedLines": "mermaid code block",
    "position": "after overview section"
  },
  "intention": "To visually explain the flow of saving and retrieving activities",
  "context": "Improving documentation for Roo Activity Logger",
  "parentId": "98280366-1de1-48e0-9914-b3a3409599b4"
}

Each log contains:

- Log level (debug, info, warn, error)
- Summary
- Details (any structured data)
- Intention / Purpose
- Context information
- Parent activity ID (for hierarchy)
- Sequence number (for ordering)
- Related activity IDs (for grouping)

Logs are:

- Saved as date-based JSON files
- Searchable by type, level, date, text, etc.
- Customizable — you can specify different save directories per activity

Features

- Logs various activity types:
- Command executions (command_execution)
- Code generation (code_generation)
- File operations (file_operation)
- Errors (error_encountered)
- Decisions (decision_made)
- Conversations (conversation)

- Each activity log includes:
- Unique ID
- Timestamp
- Activity type
- Summary, details, intention, context, and optional metadata

Usage (Recommended: via npx)

You can run Roo Activity Logger directly without cloning the repository by using npx.

Add this to your Cline, Roo-Code, or Claude Code configuration:

{
  "mcpServers": {
    "roo-activity-logger": {
      "command": "npx",
      "args": ["-y", "github:annenpolka/roo-logger"],
      "env": {},
      "disabled": false
    }
  }
}

Then, add prompts to your rule files (for Cline/Roo-Code) or CLAUDE.md (for Claude Code) to ensure logging, for example:

## Important

Always log activities using roo-activity-logger according to the logging rules.

Preparation

Check the current context with git status.

Then, use roo-activity-logger's search_logs to review existing logs and identify current tasks.

Be sure to perform the logging steps.

Logging

- Always use roo-activity-logger for all logs
- Include stack traces and execution context
- Record intention and context

---

For Developers: Local Setup

To develop or customize locally, clone the repository and build:

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.