🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

@feniix/pi-code-reasoning

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@feniix/pi-code-reasoning

Code Reasoning tools for pi and MCP — reflective sequential thinking with branching and revision support

latest
Source
npmnpm
Version
5.0.0
Version published
Weekly downloads
50
19.05%
Maintainers
1
Weekly downloads
 
Created
Source

@feniix/pi-code-reasoning

Code Reasoning tools for pi and MCP — reflective problem-solving through sequential thinking with branching and revision support.

Based on the MCP server by Matt Westgate, this package defines its tools once with BridgeKit and exposes the same implementation through both pi and MCP adapters.

Features

  • Sequential Thinking — Break down complex problems into structured, revisable steps
  • Branching — Explore alternative approaches from any thought (🌿)
  • Revision — Correct earlier thinking when new insights emerge (🔄)
  • Progress Tracking — Track thought count and branches
  • Configurable Output — Client-side byte and line truncation

Install

pi install npm:@feniix/pi-code-reasoning

Ephemeral (one-off) use:

pi -e npm:@feniix/pi-code-reasoning

MCP usage

Run the stdio MCP server with npx:

npx -y @feniix/pi-code-reasoning

Example MCP client configuration:

{
  "mcpServers": {
    "code-reasoning": {
      "command": "npx",
      "args": ["-y", "@feniix/pi-code-reasoning"]
    }
  }
}

Use the MCP adapter entrypoint when wiring the same tools into a custom host:

import { createMcpServerOptions, runServer } from "@feniix/pi-code-reasoning/mcp";

// For tests or custom hosts:
const options = createMcpServerOptions();

// For a stdio MCP server entrypoint:
await runServer();

The shared portable tool definitions are available from @feniix/pi-code-reasoning/tools for advanced adapters.

Package entrypoints

Entry pointPurpose
@feniix/pi-code-reasoning/mcpcompiled MCP server helpers
@feniix/pi-code-reasoning/toolscompiled BridgeKit portable tools
@feniix/pi-code-reasoning/extensions/*compiled compatibility deep imports for extension internals

The pi extension entrypoint remains source-loaded through the package pi.extensions metadata.

Tools

code_reasoning

Record and process a thought with metadata.

ParameterTypeRequiredDescription
thoughtstringyesYour reasoning content
thought_numberintegeryesPosition in sequence
total_thoughtsintegeryesEstimated total thoughts
next_thought_neededbooleanyesSet FALSE when done
is_revisionbooleannoWhen correcting earlier thought (🔄)
revises_thoughtintegernoWhich thought# you're revising
branch_from_thoughtintegernoWhen exploring alternatives (🌿)
branch_idstringnoIdentifier for the branch
needs_more_thoughtsbooleannoIf more thoughts needed
piMaxBytesintegernoPer-call output byte limit, clamped by configured max
piMaxLinesintegernoPer-call output line limit, clamped by configured max

code_reasoning_status

Get current session status: branches and thought count.

Optional parameters:

ParameterTypeRequiredDescription
piMaxBytesintegernoPer-call output byte limit, clamped by configured max
piMaxLinesintegernoPer-call output line limit, clamped by configured max

code_reasoning_reset

Reset the session, clearing all thoughts and branches.

Thinking Patterns

Sequential Thinking (Basic)

{
  "thought": "Initial exploration of the problem...",
  "thought_number": 1,
  "total_thoughts": 5,
  "next_thought_needed": true
}

Branching (Explore Alternatives) 🌿

{
  "thought": "Exploring alternative approach...",
  "thought_number": 3,
  "total_thoughts": 7,
  "next_thought_needed": true,
  "branch_from_thought": 2,
  "branch_id": "alternative-algo-x"
}

Revision (Correct Earlier Thinking) 🔄

{
  "thought": "Revisiting earlier point: Assumption Y was flawed...",
  "thought_number": 4,
  "total_thoughts": 6,
  "next_thought_needed": true,
  "is_revision": true,
  "revises_thought": 2
}

Checklist (Review Every 3 Thoughts)

  • Need to explore alternatives? → Use BRANCH (🌿)
  • Need to correct earlier thinking? → Use REVISION (🔄)
  • Scope changed? → Adjust total_thoughts
  • Done? → Set next_thought_needed = false

Limits

  • Thought text is limited to 20,000 characters.
  • A session keeps at most 20 thoughts before reset.
  • Output limit values must be positive integers.
  • When output is truncated, the full output is saved to a temp file when possible. If the temp file cannot be written, the tool output includes a warning instead.

Configuration

CLI Flags

CLI flags apply when running as a pi extension:

pi --code-reasoning-max-bytes=102400 --code-reasoning-max-lines=5000

Environment Variables

Environment variables apply to both pi and MCP runtimes:

export CODE_REASONING_MAX_BYTES=102400
export CODE_REASONING_MAX_LINES=5000
export CODE_REASONING_CONFIG_FILE=/path/to/code-reasoning.json

Settings File

Use pi's standard settings locations for non-secret configuration:

  • project: .pi/settings.json
  • global: ~/.pi/agent/settings.json

Under the pi-code-reasoning key:

{
  "pi-code-reasoning": {
    "maxBytes": 51200,
    "maxLines": 2000
  }
}

Best practice: use settings.json for non-secret defaults only. If you need a separate private override file, use --code-reasoning-config-file or CODE_REASONING_CONFIG_FILE to point to a custom JSON config file. Legacy aliases --code-reasoning-config and CODE_REASONING_CONFIG are still accepted but deprecated.

CLI Flags

FlagEnv VariableDefaultDescription
--code-reasoning-config-fileCODE_REASONING_CONFIG_FILECustom JSON config file path (overrides settings.json lookup)
--code-reasoning-configCODE_REASONING_CONFIGDeprecated alias for the config file path
--code-reasoning-max-bytesCODE_REASONING_MAX_BYTES51200Max output bytes
--code-reasoning-max-linesCODE_REASONING_MAX_LINES2000Max output lines

Development

Build the compiled MCP entrypoint locally:

npm run build:mcp --workspace packages/pi-code-reasoning

Run the built stdio server directly:

node packages/pi-code-reasoning/dist/extensions/mcp-server.js

Requirements

  • Node.js 22.19.0 or later
  • pi v0.51.0 or later when using the pi extension

License

MIT

Keywords

pi

FAQs

Package last updated on 28 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts