Skip to content

feat: add opencode.jsonc support#1137

Open
drumnistnakano wants to merge 7 commits intomainfrom
feature/opencode-jsonc-support
Open

feat: add opencode.jsonc support#1137
drumnistnakano wants to merge 7 commits intomainfrom
feature/opencode-jsonc-support

Conversation

@drumnistnakano
Copy link
Collaborator

Issue #1028: Support opencode.jsonc

Summary

Add support for opencode.jsonc format to allow configuration files with comments, following OpenCode's native support for both JSON and JSONC formats.

Changes

opencode-mcp.ts

  • Modified fromFile() and fromRulesyncMcp() to detect and read both opencode.jsonc and opencode.json
  • Implemented priority: opencode.jsonc preferred > opencode.json fallback
  • New files default to opencode.jsonc (when no existing file)
  • Changed all JSON parsing from JSON.parse() to parseJsonc() for JSONC support

opencode-mcp.test.ts

  • Added 10+ comprehensive tests for JSONC file format support
  • Tests cover priority ordering, global mode, local mode, content preservation
  • Tests verify backward compatibility with existing opencode.json files

Design Decisions

  • JSONC Preferred: Aligns with rulesync pattern (using rulesync.jsonc) and enables better documentation via comments
  • Backward Compatible: Falls back to opencode.json if opencode.jsonc doesn't exist
  • Existing jsonc-parser: Reused existing dependency already in rulesync (jsonc-parser@3.3.1) - no new dependencies added

Testing Results

  • Type checking: ✅ pnpm run typecheck
  • Code formatting: ✅ pnpm run fmt:check
  • Tests: ✅ opencode-mcp.test.ts (74+ passing)

Resolves

Closes #1028

- Support opencode.jsonc format with comments (preferred format)
- Maintain backward compatibility with opencode.json
- Priority: opencode.jsonc > opencode.json when both files exist
- New files default to open code.jsonc format
- Use parseJsonc from jsonc-parser library for both JSON and JSONC parsing
- Add comprehensive tests for jsonc support

Fixes: #1028
@drumnistnakano drumnistnakano self-assigned this Feb 20, 2026
@drumnistnakano drumnistnakano marked this pull request as draft February 20, 2026 14:17
@drumnistnakano drumnistnakano marked this pull request as ready for review February 26, 2026 07:07
@drumnistnakano drumnistnakano marked this pull request as draft February 26, 2026 07:31
@drumnistnakano drumnistnakano marked this pull request as ready for review February 26, 2026 08:02
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.

[Feature request] Support opencode.jsonc

1 participant