Skip to main content
Glama

context_log_decision

Track and document technical decisions by logging project context, alternatives, consequences, and status to maintain clarity and continuity in AI development processes.

Instructions

Log a technical decision

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
alternativesNoAlternative options considered
consequencesNoConsequences of the decision
contextNoDecision context
decisionYesThe decision made
projectPathYesPath to project directory
statusNoDecision statusaccepted
titleYesDecision title

Implementation Reference

  • The core handler function that logs a technical decision by appending a formatted markdown entry to the decisions.md file in the project's .context/progress directory. This implements the logic for the 'context_log_decision' tool.
    async logDecision(projectPath: string, decision: Omit<TechnicalDecision, 'id' | 'createdAt'>): Promise<void> { const decisionsPath = path.join(projectPath, '.context', 'progress', 'decisions.md'); const newDecision: TechnicalDecision = { ...decision, id: this.generateId(), createdAt: new Date(), }; await this.ensureProgressDirectory(projectPath); let content = ''; try { content = await fs.readFile(decisionsPath, 'utf8'); } catch { content = '# Technical Decisions\n\n'; } const decisionMarkdown = this.generateDecisionMarkdown(newDecision); content += `\n${decisionMarkdown}\n`; await fs.writeFile(decisionsPath, content, 'utf8'); }
  • Type definition/schema for the technical decision object used as input to the logDecision handler.
    export interface TechnicalDecision { id: string; title: string; context: string; decision: string; alternatives: string[]; consequences: string[]; status: 'proposed' | 'accepted' | 'rejected'; createdAt: Date; }
  • Helper function that formats a TechnicalDecision into markdown for storage in decisions.md.
    private generateDecisionMarkdown(decision: TechnicalDecision): string { const date = format(decision.createdAt, 'yyyy-MM-dd'); return `### ADR-${this.generateId().slice(-3)}: ${decision.title} **Date:** ${date} **Status:** ${decision.status} **Context:** ${decision.context} **Decision:** ${decision.decision} **Consequences:** ${decision.consequences.join(', ')}`; }

Other Tools

Related Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/core3-coder/context-continue-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server