noodlbox

Change Planning

Research and gather context before implementing changes

Pre-work research - gather context and understand the codebase BEFORE implementing changes.

Quick Start

"I need to implement user notifications, where do I start?"

"Show me the codebase map"

"Search for code related to email sending"

"What processes involve the UserService?"

When to Use

Use this workflow before any non-trivial implementation task:

  • Adding a new feature
  • Modifying existing behavior
  • Integrating with existing code
  • Understanding unfamiliar code areas

Workflow

Get the Codebase Overview

Start by reading the codebase map to understand the high-level structure:

"Show me the codebase map"

Uses: map://current resource

Look for:

  • Community names and purposes
  • Cohesion scores (how tightly coupled)
  • Cross-community flows

Search for Relevant Code

Use semantic search to find code related to your task:

"Search for code related to user notifications"

Uses: noodlbox_query_with_context tool

This returns processes ranked by relevance with full context.

Explore the Target Community

Drill into specific modules to understand their boundaries:

"Show me details about the Notifications community"

Uses: map://current/community/{id} resource

Focus on:

  • Entry points (where to hook in)
  • Key symbols (important functions/classes)
  • Internal processes

Trace Execution Flows

Understand how existing code executes:

"Trace the sendEmail process"

Uses: map://current/process/{id} resource

See the exact function call sequence to understand integration points.

Map Dependencies

Before planning your implementation, understand what code you'll depend on:

"What functions call EmailService.send?"

"What does NotificationManager depend on?"

Uses: noodlbox_raw_cypher_query tool

// Find callers of a function
MATCH (caller)-[:CALLS]->(target:Symbol {name: "send"})
RETURN caller.name, caller.file_path

// Find dependencies of a class
MATCH (source:Symbol {name: "NotificationManager"})-[:CALLS]->(dep)
RETURN DISTINCT dep.name, dep.kind

Example: Planning a New Feature

Task: Add push notification support alongside existing email notifications

Understand Current State

"Show me the codebase map"

Find the Notifications community and note its cohesion score.

Find Existing Patterns

"Search for notification sending patterns"

Review how email notifications are currently implemented.

Identify Integration Points

"What calls NotificationService.notify?"

These callers will need to support push notifications too.

Map the Extension Points

"Show me the NotificationService community details"

Identify where to add push notification logic without breaking existing behavior.

Tools & Resources Reference

PurposeTool/Resource
High-level overviewmap://current
Semantic searchnoodlbox_query_with_context
Module detailsmap://current/community/{id}
Execution flowmap://current/process/{id}
Dependency queriesnoodlbox_raw_cypher_query

On this page