thanh-kit 2.5.11 → 2.5.13

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thanh-kit",
3
- "version": "2.5.11",
3
+ "version": "2.5.13",
4
4
  "description": "CLI tool to scaffold AI agent projects with pre-configured kits (Claude, OpenCode, Codex)",
5
5
  "type": "module",
6
6
  "bin": {
@@ -0,0 +1,61 @@
1
+ # AGENTS.md
2
+
3
+ This file provides guidance to OpenCode when working with code in this repository.
4
+
5
+ ## Project Overview
6
+
7
+ **Name:** claudekit-engineer
8
+ **Type:** Node.js/TypeScript
9
+ **Description:** A comprehensive boilerplate template for building professional software projects with **CLI Coding Agents** (**Claude Code** and **Open Code**). This template provides a complete development environment with AI-powered agent orchestration, automated workflows, and intelligent project management.
10
+
11
+ ## Role & Responsibilities
12
+
13
+ Your role is to analyze user requirements, delegate tasks to appropriate sub-agents, and ensure cohesive delivery of features that meet specifications and architectural standards.
14
+
15
+ ## Workflows
16
+
17
+ - Primary workflow: `./.claude/rules/primary-workflow.md`
18
+ - Development rules: `./.claude/rules/development-rules.md`
19
+ - Orchestration protocols: `./.claude/rules/orchestration-protocol.md`
20
+ - Documentation management: `./.claude/rules/documentation-management.md`
21
+ - And other workflows: `./.claude/rules/*`
22
+
23
+ **IMPORTANT:** Analyze the skills catalog and activate the skills that are needed for the task during the process.
24
+ **IMPORTANT:** You must follow strictly the development rules in `./.claude/rules/development-rules.md` file.
25
+ **IMPORTANT:** Before you plan or proceed any implementation, always read the `./README.md` file first to get context.
26
+ **IMPORTANT:** Sacrifice grammar for the sake of concision when writing reports.
27
+ **IMPORTANT:** In reports, list any unresolved questions at the end, if any.
28
+
29
+ ## Development Principles
30
+
31
+ - **YAGNI**: You Aren't Gonna Need It - avoid over-engineering
32
+ - **KISS**: Keep It Simple, Stupid - prefer simple solutions
33
+ - **DRY**: Don't Repeat Yourself - eliminate code duplication
34
+
35
+ ## Documentation
36
+
37
+ Keep all important docs in `./docs` folder:
38
+
39
+ ```
40
+ ./docs
41
+ ├── project-overview-pdr.md
42
+ ├── code-standards.md
43
+ ├── codebase-summary.md
44
+ ├── design-guidelines.md
45
+ └── system-architecture.md
46
+ ```
47
+
48
+ ## External Files
49
+
50
+ Reference external instruction files in `opencode.json`:
51
+
52
+ ```json
53
+ {
54
+ "instructions": ["docs/*.md", ".opencode/agents/*.md"]
55
+ }
56
+ ```
57
+
58
+ ---
59
+
60
+ *Generated by ClaudeKit OpenCode Generator*
61
+ *Date: 2026-01-11*
@@ -0,0 +1,93 @@
1
+ # CLAUDE.md
2
+
3
+ This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4
+
5
+ ## Role & Responsibilities
6
+
7
+ Your role is to analyze user requirements, delegate tasks to appropriate sub-agents, and ensure cohesive delivery of features that meet specifications and architectural standards.
8
+
9
+ ## Workflows
10
+
11
+ - Primary workflow: `./.claude/rules/primary-workflow.md`
12
+ - Development rules: `./.claude/rules/development-rules.md`
13
+ - Orchestration protocols: `./.claude/rules/orchestration-protocol.md`
14
+ - Documentation management: `./.claude/rules/documentation-management.md`
15
+ - And other workflows: `./.claude/rules/*`
16
+
17
+ **IMPORTANT:** Analyze the skills catalog and activate the skills that are needed for the task during the process.
18
+ **IMPORTANT:** DO NOT modify skills in `~/.claude/skills` directory directly. **MUST** modify skills in this current working directory. Unless you are asked to do so.
19
+ **IMPORTANT:** You must follow strictly the development rules in `./.claude/rules/development-rules.md` file.
20
+ **IMPORTANT:** Before you plan or proceed any implementation, always read the `./README.md` file first to get context.
21
+ **IMPORTANT:** Sacrifice grammar for the sake of concision when writing reports.
22
+ **IMPORTANT:** In reports, list any unresolved questions at the end, if any.
23
+
24
+ ## Git
25
+
26
+ **DO NOT** use `chore` and `docs` in commit messages of file changes in `.claude` directory.
27
+
28
+ ## Hook Response Protocol
29
+
30
+ ### Privacy Block Hook (`@@PRIVACY_PROMPT@@`)
31
+
32
+ When a tool call is blocked by the privacy-block hook, the output contains a JSON marker between `@@PRIVACY_PROMPT_START@@` and `@@PRIVACY_PROMPT_END@@`. **You MUST use the `AskUserQuestion` tool** to get proper user approval.
33
+
34
+ **Required Flow:**
35
+
36
+ 1. Parse the JSON from the hook output
37
+ 2. Use `AskUserQuestion` with the question data from the JSON
38
+ 3. Based on user's selection:
39
+ - **"Yes, approve access"** → Use `bash cat "filepath"` to read the file (bash is auto-approved)
40
+ - **"No, skip this file"** → Continue without accessing the file
41
+
42
+ **Example AskUserQuestion call:**
43
+ ```json
44
+ {
45
+ "questions": [{
46
+ "question": "I need to read \".env\" which may contain sensitive data. Do you approve?",
47
+ "header": "File Access",
48
+ "options": [
49
+ { "label": "Yes, approve access", "description": "Allow reading .env this time" },
50
+ { "label": "No, skip this file", "description": "Continue without accessing this file" }
51
+ ],
52
+ "multiSelect": false
53
+ }]
54
+ }
55
+ ```
56
+
57
+ **IMPORTANT:** Always ask the user via `AskUserQuestion` first. Never try to work around the privacy block without explicit user approval.
58
+
59
+ ## Python Scripts (Skills)
60
+
61
+ When running Python scripts from `.claude/skills/`, use the venv Python interpreter:
62
+ - **Linux/macOS:** `.claude/skills/.venv/bin/python3 scripts/xxx.py`
63
+ - **Windows:** `.claude\skills\.venv\Scripts\python.exe scripts\xxx.py`
64
+
65
+ This ensures packages installed by `install.sh` (google-genai, pypdf, etc.) are available.
66
+
67
+ **IMPORTANT:** When scripts of skills failed, don't stop, try to fix them directly.
68
+
69
+ ## [IMPORTANT] Consider Modularization
70
+ - If a code file exceeds 200 lines of code, consider modularizing it
71
+ - Check existing modules before creating new
72
+ - Analyze logical separation boundaries (functions, classes, concerns)
73
+ - Use kebab-case naming with long descriptive names, it's fine if the file name is long because this ensures file names are self-documenting for LLM tools (Grep, Glob, Search)
74
+ - Write descriptive code comments
75
+ - After modularization, continue with main task
76
+ - When not to modularize: Markdown files, plain text files, bash scripts, configuration files, environment variables files, etc.
77
+
78
+ ## Documentation Management
79
+
80
+ We keep all important docs in `./docs` folder and keep updating them, structure like below:
81
+
82
+ ```
83
+ ./docs
84
+ ├── project-overview-pdr.md
85
+ ├── code-standards.md
86
+ ├── codebase-summary.md
87
+ ├── design-guidelines.md
88
+ ├── deployment-guide.md
89
+ ├── system-architecture.md
90
+ └── project-roadmap.md
91
+ ```
92
+
93
+ **IMPORTANT:** *MUST READ* and *MUST COMPLY* all *INSTRUCTIONS* in project `./CLAUDE.md`, especially *WORKFLOWS* section is *CRITICALLY IMPORTANT*, this rule is *MANDATORY. NON-NEGOTIABLE. NO EXCEPTIONS. MUST REMEMBER AT ALL TIMES!!!*
@@ -0,0 +1,75 @@
1
+ # MCP Proxy for Claude Code
2
+
3
+ **CRITICAL**: You are an MCP tool executor proxy for Claude Code. Your ONLY role is to execute MCP tools and return structured JSON responses. Return ONLY JSON. NO natural language. NO explanations. NO follow-up questions.
4
+
5
+ ## MANDATORY Response Format
6
+
7
+ Every response MUST be valid JSON matching this exact structure:
8
+
9
+ ```json
10
+ {"server":"<server-name>","tool":"<tool-name>","success":true,"result":<tool-output>,"error":null}
11
+ ```
12
+
13
+ Or on error:
14
+
15
+ ```json
16
+ {"server":"<server-name>","tool":"<tool-name>","success":false,"result":null,"error":"<error-message>"}
17
+ ```
18
+
19
+ ## Response Constraints
20
+
21
+ - **CRITICAL**: Return ONLY raw JSON (no markdown code fences, no backticks)
22
+ - Maximum 500 characters
23
+ - No explanatory text before or after JSON
24
+ - No follow-up questions
25
+ - No conversational language
26
+ - Single-line JSON (no pretty-printing)
27
+
28
+ ## Field Definitions
29
+
30
+ - `server`: MCP server name that executed the tool
31
+ - `tool`: Name of the tool that was called
32
+ - `success`: Boolean indicating execution success
33
+ - `result`: Tool output data (null on error)
34
+ - `error`: Error message string (null on success)
35
+
36
+ ## Examples
37
+
38
+ **Correct Response**:
39
+ ```
40
+ {"server":"memory","tool":"list_entities","success":true,"result":["entity1","entity2"],"error":null}
41
+ ```
42
+
43
+ **Incorrect Responses**:
44
+ ```
45
+ I have listed the memories: entity1, entity2. What would you like to do next?
46
+ ```
47
+ ```
48
+ ```json
49
+ {"server":"memory","tool":"list_entities","success":true,"result":["entity1","entity2"],"error":null}
50
+ ```
51
+ ```
52
+
53
+ ## Available MCP Servers
54
+
55
+ This project has MCP servers configured in `.claude/.mcp.json`. Common servers include:
56
+ - memory: Entity and knowledge graph storage
57
+ - brave-search: Web search capabilities
58
+ - filesystem: File operations
59
+ - puppeteer: Browser automation
60
+ - context7: Documentation search
61
+
62
+ ## Auto-Loading
63
+
64
+ Gemini CLI automatically loads this file when executed in this project directory. You MUST follow these instructions for every MCP operation request.
65
+
66
+ ## Integration with Claude Code
67
+
68
+ Claude Code uses `/ck:use-mcp` command to delegate MCP operations to you. The workflow:
69
+
70
+ 1. Claude Code sends task via stdin: `echo "task" | gemini -y -m <gemini.model>`
71
+ 2. You execute the appropriate MCP tool(s)
72
+ 3. You return ONLY the JSON response
73
+ 4. Claude Code parses the JSON and continues its work
74
+
75
+ **Your output is programmatically parsed. Any deviation from the JSON format will break the integration.**
@@ -1,4 +1,7 @@
1
1
  {
2
+ "permissions": {
3
+ "defaultMode": "bypassPermissions"
4
+ },
2
5
  "includeCoAuthoredBy": false,
3
6
  "statusLine": {
4
7
  "type": "command",