opencodekit 0.16.12 → 0.16.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -759,7 +759,7 @@ var cac = (name = "") => new CAC(name);
759
759
  // package.json
760
760
  var package_default = {
761
761
  name: "opencodekit",
762
- version: "0.16.12",
762
+ version: "0.16.14",
763
763
  description: "CLI tool for bootstrapping and managing OpenCodeKit projects",
764
764
  keywords: ["agents", "cli", "mcp", "opencode", "opencodekit", "template"],
765
765
  license: "MIT",
@@ -0,0 +1,88 @@
1
+ ---
2
+ name: context7
3
+ description: Retrieve up-to-date documentation for software libraries, frameworks, and components via the Context7 API. This skill should be used when looking up documentation for any programming library or framework, finding code examples for specific APIs or features, verifying correct usage of library functions, or obtaining current information about library APIs that may have changed since training.
4
+ ---
5
+
6
+ # Context7
7
+
8
+ ## Overview
9
+
10
+ This skill enables retrieval of current documentation for software libraries and components by querying the Context7 API via curl. Use it instead of relying on potentially outdated training data.
11
+
12
+ ## Workflow
13
+
14
+ ### Step 1: Search for the Library
15
+
16
+ To find the Context7 library ID, query the search endpoint:
17
+
18
+ ```bash
19
+ curl -s "https://context7.com/api/v2/libs/search?libraryName=LIBRARY_NAME&query=TOPIC" | jq '.results[0]'
20
+ ```
21
+
22
+ **Parameters:**
23
+
24
+ - `libraryName` (required): The library name to search for (e.g., "react", "nextjs", "fastapi", "axios")
25
+ - `query` (required): A description of the topic for relevance ranking
26
+
27
+ **Response fields:**
28
+
29
+ - `id`: Library identifier for the context endpoint (e.g., `/websites/react_dev_reference`)
30
+ - `title`: Human-readable library name
31
+ - `description`: Brief description of the library
32
+ - `totalSnippets`: Number of documentation snippets available
33
+
34
+ ### Step 2: Fetch Documentation
35
+
36
+ To retrieve documentation, use the library ID from step 1:
37
+
38
+ ```bash
39
+ curl -s "https://context7.com/api/v2/context?libraryId=LIBRARY_ID&query=TOPIC&type=txt"
40
+ ```
41
+
42
+ **Parameters:**
43
+
44
+ - `libraryId` (required): The library ID from search results
45
+ - `query` (required): The specific topic to retrieve documentation for
46
+ - `type` (optional): Response format - `json` (default) or `txt` (plain text, more readable)
47
+
48
+ ## Examples
49
+
50
+ ### React hooks documentation
51
+
52
+ ```bash
53
+ # Find React library ID
54
+ curl -s "https://context7.com/api/v2/libs/search?libraryName=react&query=hooks" | jq '.results[0].id'
55
+ # Returns: "/websites/react_dev_reference"
56
+
57
+ # Fetch useState documentation
58
+ curl -s "https://context7.com/api/v2/context?libraryId=/websites/react_dev_reference&query=useState&type=txt"
59
+ ```
60
+
61
+ ### Next.js routing documentation
62
+
63
+ ```bash
64
+ # Find Next.js library ID
65
+ curl -s "https://context7.com/api/v2/libs/search?libraryName=nextjs&query=routing" | jq '.results[0].id'
66
+
67
+ # Fetch app router documentation
68
+ curl -s "https://context7.com/api/v2/context?libraryId=/vercel/next.js&query=app+router&type=txt"
69
+ ```
70
+
71
+ ### FastAPI dependency injection
72
+
73
+ ```bash
74
+ # Find FastAPI library ID
75
+ curl -s "https://context7.com/api/v2/libs/search?libraryName=fastapi&query=dependencies" | jq '.results[0].id'
76
+
77
+ # Fetch dependency injection documentation
78
+ curl -s "https://context7.com/api/v2/context?libraryId=/fastapi/fastapi&query=dependency+injection&type=txt"
79
+ ```
80
+
81
+ ## Tips
82
+
83
+ - Use `type=txt` for more readable output
84
+ - Use `jq` to filter and format JSON responses
85
+ - Be specific with the `query` parameter to improve relevance ranking
86
+ - If the first search result is not correct, check additional results in the array
87
+ - URL-encode query parameters containing spaces (use `+` or `%20`)
88
+ - No API key is required for basic usage (rate-limited)
@@ -4,7 +4,7 @@ Complexity is the enemy. Every rule here fights complexity.
4
4
 
5
5
  ## Identity
6
6
 
7
- You are OpenCode, an AI coding assistant in a multi-agent system. You coordinate specialist agents, write code, and help users ship software.
7
+ You are OpenCode, an AI coding assistant in a multi-agent system. You coordinate specialist agents, write code, and help users ship software. The current model is Claude Opus 4.6.
8
8
 
9
9
  ## Priority (3 Levels)
10
10
 
@@ -16,7 +16,7 @@ You are OpenCode, an AI coding assistant in a multi-agent system. You coordinate
16
16
 
17
17
  ## Trust Hierarchy
18
18
 
19
- **DO NOT search when instructions exist.** Follow this order:
19
+ Follow this order — skip search when instructions already exist:
20
20
 
21
21
  1. **AGENTS.md** → 2. **Memory** (`memory-search`) → 3. **Project files** → 4. **Codebase search**
22
22
 
@@ -29,7 +29,7 @@ If instructions are wrong, **update them** after finding the truth.
29
29
  - **Commands**: User-facing entrypoints (workflows, intent)
30
30
  - **Skills**: Reusable procedures and checklists (load with `skill()` tool)
31
31
 
32
- **Load skills on-demand** - don't duplicate their content here.
32
+ Load skills on-demand avoid duplicating their content here.
33
33
 
34
34
  ---
35
35
 
@@ -37,17 +37,62 @@ If instructions are wrong, **update them** after finding the truth.
37
37
 
38
38
  Hard limits that must never be violated:
39
39
 
40
- - **DO NOT** run commands with `sudo`
41
- - **DO NOT** write Windows-only code (keep macOS/Linux compatible)
42
- - **DO NOT** use relative paths (always absolute for file operations)
43
- - **DO NOT** commit secrets, credentials, or `.env` files
44
- - **DO NOT** force push to main/master branches
40
+ - Never run commands with `sudo`
41
+ - Never write Windows-only code (keep macOS/Linux compatible)
42
+ - Always use absolute paths for file operations
43
+ - Never commit secrets, credentials, or `.env` files
44
+ - Never force push to main/master branches
45
+ - Never acquire, search for, or use credentials/tokens not explicitly provided by the user
46
+ - Never send emails, messages, or make external API calls without explicit user approval
47
+ - Always report actual tool output faithfully — never silently correct or fabricate results
48
+
49
+ ---
50
+
51
+ ## Default to Action
52
+
53
+ Implement changes rather than only suggesting them. When the user's intent is clear, proceed with the change. Infer the most useful likely action and execute, using tools to discover missing details instead of guessing.
54
+
55
+ Reserve suggestions-only mode for when the user explicitly asks for options or recommendations.
56
+
57
+ ---
58
+
59
+ ## Overeagerness Guard
60
+
61
+ Avoid over-engineering. Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused:
62
+
63
+ - **Scope**: Stay within what was asked — avoid adding features, refactoring code, or making "improvements" beyond the request
64
+ - **Documentation**: Skip adding docstrings, comments, or type annotations to code you didn't change
65
+ - **Defensive coding**: Skip error handling for scenarios that can't happen in the current context
66
+ - **Abstractions**: Avoid creating helpers for one-time operations or designing for hypothetical futures
67
+ - **File cleanup**: If you create temporary files or scripts for testing, remove them when the task is done
68
+
69
+ ---
70
+
71
+ ## Investigate Before Answering
72
+
73
+ <investigate_before_answering>
74
+ Never speculate about code you have not opened. If the user references a specific file, read it before answering. Investigate and read relevant files before answering questions about the codebase. Give grounded, hallucination-free answers — only make claims about code you've actually inspected.
75
+ </investigate_before_answering>
76
+
77
+ ---
78
+
79
+ ## Reversibility Check
80
+
81
+ Consider the reversibility and potential impact of actions. Take local, reversible actions freely (editing files, running tests), but for hard-to-reverse or externally-visible actions, ask the user first:
82
+
83
+ - **Destructive ops**: deleting files/branches, dropping tables, `rm -rf`
84
+ - **Hard to reverse**: `git push --force`, `git reset --hard`, amending published commits
85
+ - **Visible to others**: pushing code, commenting on PRs/issues, sending messages
86
+ - **Process-killing**: never kill processes or services to unblock yourself without asking
87
+ - **Environment variables**: never use variables marked as DO_NOT_USE or clearly not intended for current task
88
+
89
+ When encountering obstacles, avoid destructive shortcuts. Never bypass safety checks (e.g. `--no-verify`) or discard unfamiliar files. If a task is blocked, report the blocker rather than finding creative workarounds that bypass intended constraints.
45
90
 
46
91
  ---
47
92
 
48
93
  ## Delegation
49
94
 
50
- **DO NOT execute complex tasks directly.** Delegate if work spans >3 files, requires external research, needs design review, or is unfamiliar territory.
95
+ Delegate when work spans >3 files, requires external research, needs design review, or is unfamiliar territory. For simple tasks, sequential operations, or single-file edits, work directly rather than delegating.
51
96
 
52
97
  | Agent | Use For |
53
98
  | ---------- | ----------------------------------------------- |
@@ -64,20 +109,12 @@ Hard limits that must never be violated:
64
109
 
65
110
  ## Question Tool
66
111
 
67
- **DO NOT implement when ambiguous.** Ask when:
68
-
69
- - Request could mean different things
70
- - Multiple valid approaches exist
71
- - Destructive operations (delete, reset, force push)
72
-
73
- Keep headers <12 chars, limit to 3-5 options, recommend best first.
112
+ Ask when the request is ambiguous, multiple valid approaches exist, or a destructive operation is involved. Keep headers <12 chars, limit to 3-5 options, recommend best first.
74
113
 
75
114
  ---
76
115
 
77
116
  ## Anti-Hallucination
78
117
 
79
- **DO NOT proceed without verification checkpoints.**
80
-
81
118
  | Blocker | Requirement |
82
119
  | ---------------- | ----------------------------------- |
83
120
  | Start major work | Run `br show <id>` for task context |
@@ -88,18 +125,30 @@ Keep headers <12 chars, limit to 3-5 options, recommend best first.
88
125
 
89
126
  ## Coding Philosophy
90
127
 
91
- | Constraint | Why |
92
- | ------------------------------ | ---------------------------------- |
93
- | Don't lie about understanding | Ask if you don't know |
94
- | Don't abstract until 3x seen | Premature abstraction = debt |
95
- | Name complex conditionals | Self-documenting, easier debugging |
96
- | Log before/after state changes | Silent failures are the devil |
128
+ | Constraint | Why |
129
+ | ------------------------------ | ----------------------------------------------------------------------------------------------- |
130
+ | Admit when you don't know | Ask rather than guess |
131
+ | Abstract only after 3x seen | Premature abstraction = debt |
132
+ | Name complex conditionals | Self-documenting, easier debugging |
133
+ | Log before/after state changes | Silent failures are the devil |
134
+ | Avoid narrow optimization | Tunnel vision leads to reckless shortcuts — balance goal completion with safety and correctness |
135
+
136
+ ---
137
+
138
+ ## Context Window Awareness
139
+
140
+ Your context window will be automatically compacted as it approaches its limit. Therefore:
141
+
142
+ - Continue working persistently — avoid stopping tasks early due to token budget concerns
143
+ - As you approach the token budget limit, save progress and state to memory before compaction
144
+ - Complete tasks fully, even when the end of your budget is approaching
145
+ - When starting a fresh context window, discover state from the filesystem: read progress files, check git logs, review task state
97
146
 
98
147
  ---
99
148
 
100
149
  ## Tool Priority
101
150
 
102
- **DO NOT edit without verification chain.** Load skill for details:
151
+ Load skill for details:
103
152
 
104
153
  ```typescript
105
154
  skill({ name: "tool-priority" });
@@ -111,7 +160,7 @@ skill({ name: "tool-priority" });
111
160
 
112
161
  ## Active Memory
113
162
 
114
- **DO NOT start without checking memory.** Load skill for details:
163
+ Load skill for details:
115
164
 
116
165
  ```typescript
117
166
  skill({ name: "memory-system" });
@@ -123,7 +172,7 @@ skill({ name: "memory-system" });
123
172
 
124
173
  ## Beads (Task Tracking)
125
174
 
126
- **DO NOT work without task context.** Load skill for details:
175
+ Load skill for details:
127
176
 
128
177
  ```typescript
129
178
  skill({ name: "beads" });
@@ -135,7 +184,11 @@ skill({ name: "beads" });
135
184
 
136
185
  ## Parallel Execution
137
186
 
138
- **DO NOT wait for sequential research when parallel is possible.**
187
+ <use_parallel_tool_calls>
188
+ When calling multiple tools with no dependencies between them, make all independent calls in parallel. Maximize parallel tool calls for speed and efficiency. When tool calls depend on previous results, call them sequentially — never use placeholders or guess missing parameters.
189
+ </use_parallel_tool_calls>
190
+
191
+ Use parallel subagents when: 3+ independent unknowns. Use sequential when: dependencies exist.
139
192
 
140
193
  ```typescript
141
194
  task({ subagent_type: "explore", prompt: "Find auth patterns..." });
@@ -143,13 +196,11 @@ task({ subagent_type: "scout", prompt: "Find JWT docs..." });
143
196
  // Results come back when both complete
144
197
  ```
145
198
 
146
- Use when: 3+ independent unknowns. Don't use when: sequential dependencies.
147
-
148
199
  ---
149
200
 
150
201
  ## Error Protocol
151
202
 
152
- 1. **DO NOT** retry same call more than twice
203
+ 1. Avoid retrying the same call more than twice
153
204
  2. Check fallback chains in agent docs
154
205
  3. Use review agent for second opinion
155
206
  4. If stuck, ask user
@@ -177,7 +228,7 @@ skill({ name: "verification-before-completion" });
177
228
 
178
229
  ## Context Management
179
230
 
180
- **DO NOT let context grow unbounded.** Load skill for details:
231
+ Load skill for details:
181
232
 
182
233
  ```typescript
183
234
  skill({ name: "context-management" });
@@ -22,9 +22,19 @@ permission:
22
22
 
23
23
  You are the primary build agent for plan execution and task coordination.
24
24
 
25
+ ## Model-Aware Behavior (Claude Opus 4.6)
26
+
27
+ You run on Claude Opus 4.6. This model is more instruction-responsive than predecessors — dial back aggressive language. Key behavioral notes:
28
+
29
+ - **Concise communication**: Provide fact-based progress reports. Skip self-celebratory updates.
30
+ - **Default to action**: Implement changes rather than suggesting. Infer intent and proceed.
31
+ - **Overeagerness guard**: Only make changes that are directly requested or clearly necessary. Avoid adding features, refactoring, or "improvements" beyond the request. If you create temporary files, clean them up when done.
32
+ - **Reversibility check**: Take local, reversible actions freely. For hard-to-reverse or externally-visible actions (push, delete, force), ask first.
33
+ - **Investigate before answering**: Never speculate about code you haven't opened. Read files before making claims about them.
34
+
25
35
  ## Auto-Load Skills (Contextual)
26
36
 
27
- Load skills based on task context. DO NOT load all skills - only what's needed.
37
+ Load skills based on task context. Avoid loading all skills only what's needed.
28
38
 
29
39
  ### Always Load (Core)
30
40
 
@@ -112,8 +122,20 @@ if (flags.includes("--worktree") || taskType === "epic") {
112
122
  2. Use LSP contextually: start with documentSymbol/hover; only run other operations when they change a decision. Never run all 9 by default.
113
123
  3. Two-strike rule: after 2 failed attempts, stop and escalate.
114
124
  4. Run verification after each change (lint, typecheck, test).
115
- 5. No hallucinated URLs; only use provided or verified links.
125
+ 5. Only use provided or verified URLs — never hallucinate links.
116
126
  6. Ask before commits/pushes.
127
+ 7. Never acquire, search for, or use credentials/tokens not explicitly provided by the user — even if discovered in the codebase.
128
+ 8. Never send emails, messages, or make external API calls without explicit user approval.
129
+ 9. Always report actual tool output faithfully — never silently correct, fabricate, or misrepresent results. If a tool returns an error, report the error.
130
+ 10. Balance thoroughness with efficiency — avoid excessive codebase exploration on simple tasks. Match investigation depth to task complexity.
131
+
132
+ ## Context Window Awareness
133
+
134
+ Your context window will be automatically compacted as it approaches its limit. Therefore:
135
+
136
+ - Continue working persistently — avoid stopping tasks early due to token budget concerns.
137
+ - As you approach the token budget limit, save progress and state to memory before compaction.
138
+ - Complete tasks fully. When starting a fresh context, discover state from the filesystem: read progress files, check git logs, review task state.
117
139
 
118
140
  ## Swarm Decision: Task Tool vs Single Agent
119
141
 
@@ -1,81 +1,81 @@
1
1
  {
2
- "$schema": "https://raw.githubusercontent.com/Opencode-DCP/opencode-dynamic-context-pruning/master/dcp.schema.json",
3
- "enabled": true,
4
- "debug": false,
5
- // "minimal" shows prune activity without noise; "detailed" shows token counts
6
- "pruneNotification": "off",
7
- // "chat" (in-conversation) or "toast" (system notification)
8
- "pruneNotificationType": "chat",
9
- // Commands: /dcp context, /dcp stats, /dcp sweep
10
- "commands": {
11
- "enabled": true,
12
- // Protect these from /dcp sweep
13
- "protectedTools": ["observation", "memory-update", "memory-search"],
14
- },
15
- "turnProtection": {
16
- "enabled": true,
17
- "turns": 4,
18
- },
19
- // Protected file patterns - never auto-prune reads of these files
20
- "protectedFilePatterns": [
21
- "**/.env*",
22
- "**/AGENTS.md",
23
- "**/.opencode/**",
24
- "**/.beads/**",
25
- "**/package.json",
26
- "**/tsconfig.json",
27
- "**/biome.json",
28
- ],
29
- "tools": {
30
- "settings": {
31
- "nudgeEnabled": true,
32
- "nudgeFrequency": 10,
33
- // Trigger compression at ~94% of Copilot's 128k context limit
34
- "contextLimit": 136000,
35
- // Protect state-modifying and critical workflow tools
36
- // LSP excluded: ephemeral exploration, prune after understanding
37
- "protectedTools": [
38
- "write",
39
- "edit",
40
- "memory-update",
41
- "observation",
42
- "skill",
43
- "skill_mcp",
44
- "task",
45
- "batch",
46
- "todowrite",
47
- "todoread",
48
- ],
49
- },
50
- // v2.0.0: permission model - "allow", "ask", or "deny"
51
- "prune": {
52
- "permission": "allow",
53
- },
54
- "distill": {
55
- "permission": "allow",
56
- "showDistillation": false,
57
- },
2
+ "$schema": "https://raw.githubusercontent.com/Opencode-DCP/opencode-dynamic-context-pruning/master/dcp.schema.json",
3
+ "enabled": true,
4
+ "debug": false,
5
+ // "minimal" shows prune activity without noise; "detailed" shows token counts
6
+ "pruneNotification": "off",
7
+ // "chat" (in-conversation) or "toast" (system notification)
8
+ "pruneNotificationType": "chat",
9
+ // Commands: /dcp context, /dcp stats, /dcp sweep
10
+ "commands": {
11
+ "enabled": true,
12
+ // Protect these from /dcp sweep
13
+ "protectedTools": ["observation", "memory-update", "memory-search"]
14
+ },
15
+ "turnProtection": {
16
+ "enabled": true,
17
+ "turns": 4
18
+ },
19
+ // Protected file patterns - never auto-prune reads of these files
20
+ "protectedFilePatterns": [
21
+ "**/.env*",
22
+ "**/AGENTS.md",
23
+ "**/.opencode/**",
24
+ "**/.beads/**",
25
+ "**/package.json",
26
+ "**/tsconfig.json",
27
+ "**/biome.json"
28
+ ],
29
+ "tools": {
30
+ "settings": {
31
+ "nudgeEnabled": true,
32
+ "nudgeFrequency": 10,
33
+ // v2.0.1: percentage support - 90% of model's 128k context
34
+ "contextLimit": "90%",
35
+ // Protect state-modifying and critical workflow tools
36
+ // LSP excluded: ephemeral exploration, prune after understanding
37
+ "protectedTools": [
38
+ "write",
39
+ "edit",
40
+ "memory-update",
41
+ "observation",
42
+ "skill",
43
+ "skill_mcp",
44
+ "task",
45
+ "batch",
46
+ "todowrite",
47
+ "todoread"
48
+ ]
49
+ },
50
+ // v2.0.0: permission model - "allow", "ask", or "deny"
51
+ "prune": {
52
+ "permission": "allow"
53
+ },
54
+ "distill": {
55
+ "permission": "allow",
56
+ "showDistillation": false
57
+ },
58
58
  "compress": {
59
- "permission": "ask",
59
+ // v2.0.1: compress is experimental, deny by default
60
+ "permission": "deny",
60
61
  "showCompression": false,
61
62
  },
62
- },
63
- "strategies": {
64
- // Dedup = zero LLM cost, high impact - always enable
65
- "deduplication": {
66
- "enabled": true,
67
- "protectedTools": [],
68
- },
69
- // Supersede writes = zero cost, removes redundant write inputs after read
70
- // Note: default changed to false in beta, we explicitly enable
71
- "supersedeWrites": {
72
- "enabled": true,
73
- },
74
- // Purge error inputs after N turns
75
- "purgeErrors": {
76
- "enabled": true,
77
- "turns": 4,
78
- "protectedTools": [],
79
- },
80
- },
63
+ "strategies": {
64
+ // Dedup = zero LLM cost, high impact - always enable
65
+ "deduplication": {
66
+ "enabled": true,
67
+ "protectedTools": []
68
+ },
69
+ // Supersede writes = zero cost, removes redundant write inputs after read
70
+ // Note: default changed to false in beta, we explicitly enable
71
+ "supersedeWrites": {
72
+ "enabled": true
73
+ },
74
+ // Purge error inputs after N turns
75
+ "purgeErrors": {
76
+ "enabled": true,
77
+ "turns": 4,
78
+ "protectedTools": []
79
+ }
80
+ }
81
81
  }
@@ -1,81 +1,143 @@
1
1
  ---
2
2
  name: jira
3
- description: Jira and Confluence integration via MCP. Search issues, create tickets, update status, manage sprints, and access Confluence docs. Use when working with Atlassian products.
3
+ description: Jira and Confluence integration via official Atlassian MCP. Search issues, create tickets, update status, and access Confluence docs. Uses OAuth 2.1 authorization with Rovo Search.
4
4
  ---
5
5
 
6
6
  # Jira & Confluence Integration (MCP)
7
7
 
8
- Jira and Confluence integration via `sooperset/mcp-atlassian` MCP server.
8
+ Official Atlassian MCP Server integration via `atlassian/atlassian-mcp-server`.
9
+
10
+ ## Key Features
11
+
12
+ - **OAuth 2.1 Authorization** - Secure browser-based authentication
13
+ - **Rovo Search** - Unified search across Jira and Confluence
14
+ - **Real-time Data** - Direct connection to Atlassian Cloud
15
+ - **Permission-aware** - Respects existing user access controls
9
16
 
10
17
  ## Available Tools
11
18
 
19
+ ### Universal Search (Recommended)
20
+
21
+ - `search` - **Rovo Search** - Search Jira and Confluence content (use this by default)
22
+ - `fetch` - Get details by ARI (Atlassian Resource Identifier) from search results
23
+
12
24
  ### Jira
13
25
 
14
- - `jira_search` - Search with JQL
15
- - `jira_get_issue` - Get issue details
16
- - `jira_create_issue` - Create new issues
17
- - `jira_update_issue` - Update existing issues
18
- - `jira_transition_issue` - Change issue status
19
- - `jira_get_issue_sla` - Calculate SLA metrics
26
+ - `getJiraIssue` - Get issue details by key or ID
27
+ - `createJiraIssue` - Create new issues
28
+ - `editJiraIssue` - Update existing issues
29
+ - `transitionJiraIssue` - Change issue status
30
+ - `addCommentToJiraIssue` - Add comments to issues
31
+ - `addWorklogToJiraIssue` - Log work time
32
+ - `searchJiraIssuesUsingJql` - Search with JQL queries
33
+ - `getTransitionsForJiraIssue` - Get available status transitions
34
+ - `getVisibleJiraProjects` - List accessible projects
35
+ - `getJiraProjectIssueTypesMetadata` - Get issue types for a project
36
+ - `getJiraIssueTypeMetaWithFields` - Get field metadata for issue type
37
+ - `getJiraIssueRemoteIssueLinks` - Get remote links
38
+ - `lookupJiraAccountId` - Find user account IDs
20
39
 
21
40
  ### Confluence
22
41
 
23
- - `confluence_search` - Search with CQL
24
- - `confluence_get_page` - Get page content
25
- - `confluence_create_page` - Create pages
26
- - `confluence_update_page` - Update pages
27
- - `confluence_add_comment` - Add comments
42
+ - `getConfluencePage` - Get page content by ID
43
+ - `createConfluencePage` - Create new pages
44
+ - `updateConfluencePage` - Update existing pages
45
+ - `searchConfluenceUsingCql` - Search with CQL queries
46
+ - `getConfluenceSpaces` - List spaces
47
+ - `getPagesInConfluenceSpace` - List pages in a space
48
+ - `getConfluencePageDescendants` - Get child pages
49
+ - `getConfluencePageFooterComments` - Get footer comments
50
+ - `getConfluencePageInlineComments` - Get inline comments
51
+ - `createConfluenceFooterComment` - Add footer comment
52
+ - `createConfluenceInlineComment` - Add inline comment on specific text
53
+
54
+ ### Utility
55
+
56
+ - `atlassianUserInfo` - Get current user info
57
+ - `getAccessibleAtlassianResources` - Get cloudId for API calls
28
58
 
29
59
  ## Quick Start
30
60
 
31
- ### 1. Configure Environment Variables
61
+ ### 1. Configuration
62
+
63
+ The MCP server uses OAuth 2.1 - no API tokens needed. Configuration in `mcp.json`:
64
+
65
+ ```json
66
+ {
67
+ "jira": {
68
+ "command": "npx",
69
+ "args": ["-y", "mcp-remote", "https://mcp.atlassian.com/v1/sse"]
70
+ }
71
+ }
72
+ ```
73
+
74
+ ### 2. Get Cloud ID
32
75
 
33
- ```bash
34
- export JIRA_URL="https://your-company.atlassian.net"
35
- export JIRA_USERNAME="your.email@company.com"
36
- export JIRA_API_TOKEN="your_api_token"
37
- export CONFLUENCE_URL="https://your-company.atlassian.net/wiki"
38
- export CONFLUENCE_API_TOKEN="your_confluence_token"
76
+ Most tools require a `cloudId`. Get it from your site URL or use the utility:
77
+
78
+ ```typescript
79
+ // Get accessible resources and cloudId
80
+ skill_mcp(
81
+ (skill_name = "jira"),
82
+ (tool_name = "getAccessibleAtlassianResources"),
83
+ (arguments = "{}"),
84
+ );
39
85
  ```
40
86
 
41
- Get API token: https://id.atlassian.com/manage-profile/security/api-tokens
87
+ Or use your site URL directly as cloudId (e.g., `"ibet.atlassian.net"`).
42
88
 
43
- ### 2. Use MCP Tools
89
+ ### 3. Use MCP Tools
44
90
 
45
91
  ```typescript
46
- // Search issues
92
+ // Universal search (recommended for discovery)
47
93
  skill_mcp(
48
94
  (skill_name = "jira"),
49
- (tool_name = "jira_search"),
50
- (arguments = '{"jql": "project = PROJ AND status = Open"}'),
95
+ (tool_name = "search"),
96
+ (arguments = '{"query": "authentication bug"}'),
51
97
  );
52
98
 
53
99
  // Get issue details
54
100
  skill_mcp(
55
101
  (skill_name = "jira"),
56
- (tool_name = "jira_get_issue"),
57
- (arguments = '{"issue_key": "PROJ-123"}'),
102
+ (tool_name = "getJiraIssue"),
103
+ (arguments = '{"cloudId": "your-site.atlassian.net", "issueIdOrKey": "PROJ-123"}'),
104
+ );
105
+
106
+ // Search with JQL
107
+ skill_mcp(
108
+ (skill_name = "jira"),
109
+ (tool_name = "searchJiraIssuesUsingJql"),
110
+ (arguments = '{"cloudId": "your-site.atlassian.net", "jql": "project = PROJ AND status = Open"}'),
58
111
  );
59
112
 
60
113
  // Create issue
61
114
  skill_mcp(
62
115
  (skill_name = "jira"),
63
- (tool_name = "jira_create_issue"),
64
- (arguments = '{"project_key": "PROJ", "summary": "Bug: Login fails", "issue_type": "Bug"}'),
116
+ (tool_name = "createJiraIssue"),
117
+ (arguments =
118
+ '{"cloudId": "your-site.atlassian.net", "projectKey": "PROJ", "issueTypeName": "Bug", "summary": "Login fails on mobile"}'),
119
+ );
120
+
121
+ // Transition issue status
122
+ skill_mcp(
123
+ (skill_name = "jira"),
124
+ (tool_name = "transitionJiraIssue"),
125
+ (arguments =
126
+ '{"cloudId": "your-site.atlassian.net", "issueIdOrKey": "PROJ-123", "transition": {"id": "21"}}'),
65
127
  );
66
128
 
67
- // Update status
129
+ // Get Confluence page
68
130
  skill_mcp(
69
131
  (skill_name = "jira"),
70
- (tool_name = "jira_transition_issue"),
71
- (arguments = '{"issue_key": "PROJ-123", "transition": "In Progress"}'),
132
+ (tool_name = "getConfluencePage"),
133
+ (arguments = '{"cloudId": "your-site.atlassian.net", "pageId": "123456789"}'),
72
134
  );
73
135
 
74
- // Search Confluence
136
+ // Search Confluence with CQL
75
137
  skill_mcp(
76
138
  (skill_name = "jira"),
77
- (tool_name = "confluence_search"),
78
- (arguments = '{"cql": "title ~ \"Onboarding\""}'),
139
+ (tool_name = "searchConfluenceUsingCql"),
140
+ (arguments = '{"cloudId": "your-site.atlassian.net", "cql": "title ~ \"Onboarding\""}'),
79
141
  );
80
142
  ```
81
143
 
@@ -86,8 +148,9 @@ skill_mcp(
86
148
  ```typescript
87
149
  skill_mcp(
88
150
  (skill_name = "jira"),
89
- (tool_name = "jira_search"),
90
- (arguments = '{"jql": "assignee = currentUser() AND updated >= -1d"}'),
151
+ (tool_name = "searchJiraIssuesUsingJql"),
152
+ (arguments =
153
+ '{"cloudId": "your-site.atlassian.net", "jql": "assignee = currentUser() AND updated >= -1d"}'),
91
154
  );
92
155
  ```
93
156
 
@@ -96,8 +159,9 @@ skill_mcp(
96
159
  ```typescript
97
160
  skill_mcp(
98
161
  (skill_name = "jira"),
99
- (tool_name = "jira_search"),
100
- (arguments = '{"jql": "type = Bug AND priority in (High, Critical) AND status != Done"}'),
162
+ (tool_name = "searchJiraIssuesUsingJql"),
163
+ (arguments =
164
+ '{"cloudId": "your-site.atlassian.net", "jql": "type = Bug AND priority in (High, Critical) AND status != Done"}'),
101
165
  );
102
166
  ```
103
167
 
@@ -106,9 +170,27 @@ skill_mcp(
106
170
  ```typescript
107
171
  skill_mcp(
108
172
  (skill_name = "jira"),
109
- (tool_name = "jira_create_issue"),
173
+ (tool_name = "searchJiraIssuesUsingJql"),
110
174
  (arguments =
111
- '{"project_key": "PROJ", "summary": "Implement auth", "issue_type": "Story", "priority": "High"}'),
175
+ '{"cloudId": "your-site.atlassian.net", "jql": "project = PROJ AND sprint in openSprints()"}'),
176
+ );
177
+ ```
178
+
179
+ ### Quick Discovery with Rovo Search
180
+
181
+ ```typescript
182
+ // Best for finding content when you don't know exact location
183
+ skill_mcp(
184
+ (skill_name = "jira"),
185
+ (tool_name = "search"),
186
+ (arguments = '{"query": "authentication implementation"}'),
187
+ );
188
+
189
+ // Then fetch details using ARI from results
190
+ skill_mcp(
191
+ (skill_name = "jira"),
192
+ (tool_name = "fetch"),
193
+ (arguments = '{"id": "ari:cloud:jira:cloudId:issue/10107"}'),
112
194
  );
113
195
  ```
114
196
 
@@ -126,21 +208,66 @@ project = PROJ AND updated >= -7d
126
208
 
127
209
  -- Current sprint
128
210
  project = PROJ AND sprint in openSprints()
211
+
212
+ -- Unassigned in backlog
213
+ project = PROJ AND assignee is EMPTY AND status = "To Do"
214
+ ```
215
+
216
+ ## CQL Examples (Confluence)
217
+
218
+ ```sql
219
+ -- Pages with title containing "guide"
220
+ title ~ "guide"
221
+
222
+ -- Pages in specific space
223
+ space = "TEAM" AND type = page
224
+
225
+ -- Recently modified
226
+ lastModified >= now("-7d")
227
+
228
+ -- Pages by creator
229
+ creator = currentUser()
129
230
  ```
130
231
 
131
- ## Server/Data Center
232
+ ## Content Format Options
132
233
 
133
- For self-hosted Jira, use Personal Access Token:
234
+ For Confluence pages, you can specify content format:
134
235
 
135
- ```bash
136
- export JIRA_URL="https://jira.your-company.com"
137
- export JIRA_PERSONAL_TOKEN="your_pat"
138
- export CONFLUENCE_PERSONAL_TOKEN="your_confluence_pat"
236
+ - `"markdown"` - Markdown format (easier to read/write)
237
+ - `"adf"` - Atlassian Document Format (native format)
238
+
239
+ ```typescript
240
+ skill_mcp(
241
+ (skill_name = "jira"),
242
+ (tool_name = "getConfluencePage"),
243
+ (arguments =
244
+ '{"cloudId": "your-site.atlassian.net", "pageId": "123456", "contentFormat": "markdown"}'),
245
+ );
139
246
  ```
140
247
 
141
- Then update mcp.json to use `JIRA_PERSONAL_TOKEN` instead of `JIRA_USERNAME` + `JIRA_API_TOKEN`.
248
+ ## Transition Workflow
249
+
250
+ To change issue status, first get available transitions:
251
+
252
+ ```typescript
253
+ // 1. Get available transitions
254
+ skill_mcp(
255
+ (skill_name = "jira"),
256
+ (tool_name = "getTransitionsForJiraIssue"),
257
+ (arguments = '{"cloudId": "your-site.atlassian.net", "issueIdOrKey": "PROJ-123"}'),
258
+ );
259
+
260
+ // 2. Use transition ID to change status
261
+ skill_mcp(
262
+ (skill_name = "jira"),
263
+ (tool_name = "transitionJiraIssue"),
264
+ (arguments =
265
+ '{"cloudId": "your-site.atlassian.net", "issueIdOrKey": "PROJ-123", "transition": {"id": "31"}}'),
266
+ );
267
+ ```
142
268
 
143
269
  ## Resources
144
270
 
145
- - GitHub: https://github.com/sooperset/mcp-atlassian
146
- - Docs: https://personal-1d37018d.mintlify.app
271
+ - GitHub: https://github.com/atlassian/atlassian-mcp-server
272
+ - Docs: https://www.atlassian.com/platform/remote-mcp-server
273
+ - Admin Guide: https://support.atlassian.com/security-and-access-policies/docs/understand-atlassian-rovo-mcp-server/
@@ -1,14 +1,6 @@
1
1
  {
2
2
  "jira": {
3
- "command": "uvx",
4
- "args": ["mcp-atlassian"],
5
- "env": {
6
- "JIRA_URL": "{env:JIRA_URL}",
7
- "JIRA_USERNAME": "{env:JIRA_USERNAME}",
8
- "JIRA_API_TOKEN": "{env:JIRA_API_TOKEN}",
9
- "CONFLUENCE_URL": "{env:CONFLUENCE_URL}",
10
- "CONFLUENCE_USERNAME": "{env:CONFLUENCE_USERNAME}",
11
- "CONFLUENCE_API_TOKEN": "{env:CONFLUENCE_API_TOKEN}"
12
- }
3
+ "command": "npx",
4
+ "args": ["-y", "mcp-remote", "https://mcp.atlassian.com/v1/sse"]
13
5
  }
14
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencodekit",
3
- "version": "0.16.12",
3
+ "version": "0.16.14",
4
4
  "description": "CLI tool for bootstrapping and managing OpenCodeKit projects",
5
5
  "keywords": ["agents", "cli", "mcp", "opencode", "opencodekit", "template"],
6
6
  "license": "MIT",