bots-garden/one-day-one-featurepublic Fork
⑂ 9e69a8e
Commits
⬇ Clone ▾
git clone https://git.rickub.com/bots-garden/one-day-one-feature.git
git clone ssh://git@rickub.com/bots-garden/one-day-one-feature.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP

🛟 Updated.

k33g committed 2026-10-22T07:03:11+02:00 Browse files
9e69a8e
added .gitignore +1 -0
new file mode 100644
@@ -0,0 +1 @@
1+blog
new file mode 100644
@@ -0,0 +1 @@
1+blog
added .vscode/extensions.json +9 -0
new file mode 100644
@@ -0,0 +1,9 @@
1+{
2+ "recommendations": [
3+ "ms-azuretools.vscode-docker",
4+ "pkief.material-icon-theme",
5+ "pkief.material-product-icons",
6+ "aaron-bond.better-comments",
7+ "bierner.markdown-mermaid",
8+ ]
9+}
\ No newline at end of file
new file mode 100644
@@ -0,0 +1,9 @@
1+{
2+ "recommendations": [
3+ "ms-azuretools.vscode-docker",
4+ "pkief.material-icon-theme",
5+ "pkief.material-product-icons",
6+ "aaron-bond.better-comments",
7+ "bierner.markdown-mermaid",
8+ ]
9+}
\ No newline at end of file\ No newline at end of file
added .vscode/settings.json +63 -0
new file mode 100644
@@ -0,0 +1,63 @@
1+{
2+ "workbench.iconTheme": "material-icon-theme",
3+ "workbench.colorTheme": "Light Modern",
4+ "editor.fontSize": 14,
5+ "terminal.integrated.fontSize": 16,
6+ "editor.insertSpaces": true,
7+ "editor.tabSize": 4,
8+ "editor.detectIndentation": true,
9+ "files.autoSave": "afterDelay",
10+ "files.autoSaveDelay": 1000,
11+ // "editor.defaultFormatter": "esbenp.prettier-vscode",
12+ "editor.formatOnSave": true,
13+ "workbench.tree.indent": 20,
14+ //"workbench.activityBar.location": "top",
15+ "workbench.editor.showTabs": "multiple",
16+ "window.zoomLevel": 0.0,
17+ "[markdown]": {
18+ "editor.unicodeHighlight.ambiguousCharacters": false,
19+ "editor.unicodeHighlight.invisibleCharacters": false,
20+ "diffEditor.ignoreTrimWhitespace": false,
21+ "editor.fontWeight": "normal",
22+ "editor.fontFamily": "'Droid Sans Mono', 'monospace', monospace",
23+ "editor.fontSize": 14,
24+ "editor.wordWrap": "on",
25+ "editor.quickSuggestions": {
26+ "comments": "off",
27+ "strings": "off",
28+ "other": "off"
29+ }
30+ },
31+ "markdown.preview.fontSize": 14,
32+ // "workbench.editorAssociations": {
33+ // "*.md": "vscode.markdown.preview.editor"
34+ // },
35+ "markdown.marp.html": "all",
36+ "[dockerfile]": {
37+ "editor.fontSize": 14
38+ },
39+ "[dockercompose]": {
40+ "editor.fontSize": 14
41+ },
42+ "[json]": {
43+ "editor.fontSize": 14
44+ },
45+ "[yaml]": {
46+ "editor.fontSize": 14
47+ },
48+ "[go]": {
49+ "editor.fontSize": 14,
50+ "editor.codeActionsOnSave": {
51+ "source.organizeImports": "explicit"
52+ }
53+ },
54+ "go.lintTool": "golangci-lint",
55+ "go.lintOnSave": "package",
56+ "go.formatTool": "goimports",
57+ "go.useLanguageServer": true,
58+ "gopls": {
59+ "ui.semanticTokens": true,
60+ "ui.completion.usePlaceholders": true
61+ },
62+ "issuespec.groupBy": "milestone"
63+}
\ No newline at end of file
new file mode 100644
@@ -0,0 +1,63 @@
1+{
2+ "workbench.iconTheme": "material-icon-theme",
3+ "workbench.colorTheme": "Light Modern",
4+ "editor.fontSize": 14,
5+ "terminal.integrated.fontSize": 16,
6+ "editor.insertSpaces": true,
7+ "editor.tabSize": 4,
8+ "editor.detectIndentation": true,
9+ "files.autoSave": "afterDelay",
10+ "files.autoSaveDelay": 1000,
11+ // "editor.defaultFormatter": "esbenp.prettier-vscode",
12+ "editor.formatOnSave": true,
13+ "workbench.tree.indent": 20,
14+ //"workbench.activityBar.location": "top",
15+ "workbench.editor.showTabs": "multiple",
16+ "window.zoomLevel": 0.0,
17+ "[markdown]": {
18+ "editor.unicodeHighlight.ambiguousCharacters": false,
19+ "editor.unicodeHighlight.invisibleCharacters": false,
20+ "diffEditor.ignoreTrimWhitespace": false,
21+ "editor.fontWeight": "normal",
22+ "editor.fontFamily": "'Droid Sans Mono', 'monospace', monospace",
23+ "editor.fontSize": 14,
24+ "editor.wordWrap": "on",
25+ "editor.quickSuggestions": {
26+ "comments": "off",
27+ "strings": "off",
28+ "other": "off"
29+ }
30+ },
31+ "markdown.preview.fontSize": 14,
32+ // "workbench.editorAssociations": {
33+ // "*.md": "vscode.markdown.preview.editor"
34+ // },
35+ "markdown.marp.html": "all",
36+ "[dockerfile]": {
37+ "editor.fontSize": 14
38+ },
39+ "[dockercompose]": {
40+ "editor.fontSize": 14
41+ },
42+ "[json]": {
43+ "editor.fontSize": 14
44+ },
45+ "[yaml]": {
46+ "editor.fontSize": 14
47+ },
48+ "[go]": {
49+ "editor.fontSize": 14,
50+ "editor.codeActionsOnSave": {
51+ "source.organizeImports": "explicit"
52+ }
53+ },
54+ "go.lintTool": "golangci-lint",
55+ "go.lintOnSave": "package",
56+ "go.formatTool": "goimports",
57+ "go.useLanguageServer": true,
58+ "gopls": {
59+ "ui.semanticTokens": true,
60+ "ui.completion.usePlaceholders": true
61+ },
62+ "issuespec.groupBy": "milestone"
63+}
\ No newline at end of file\ No newline at end of file
added 01-init/README.md +5 -0
new file mode 100644
@@ -0,0 +1,5 @@
1+
2+
3+sbx env create --force
4+sbx env exec -it mm init
5+sbx env run
new file mode 100644
@@ -0,0 +1,5 @@
1+
2+
3+sbx env create --force
4+sbx env exec -it mm init
5+sbx env run
added 01-init/agent.yaml +82 -0
new file mode 100644
@@ -0,0 +1,82 @@
1+# bob — a coding agent: reads and changes the project, runs commands.
2+#
3+# Written by `mm init`. Every value says why it has that value; change
4+# them as you watch the agent work (guides/agent-settings-for-small-models.md).
5+#
6+# model family: qwen
7+# usage: developer
8+# machine: small — a laptop, models up to about 8B
9+#
10+# mm -config <this file> or mm -tui <this file>
11+
12+provider: llmman
13+model: "hf.co/unsloth/Qwen3.5-2B-GGUF:Q4_K_M"
14+
15+# 0 = mm asks the server for the window it serves (the model's native window
16+# is 262144 tokens; the server may serve less)
17+contextWindow: 0
18+# your answer: every command and file change waits for your answer
19+yolo: false
20+# usage developer
21+bashTool: true
22+editTools: true
23+planTool: true
24+askUserTool: true
25+# no skills: add a skills/ folder and set skillsDir to use some (see
26+# docs/en/how-to/add-a-skill.md)
27+skillsDir: no-skills
28+# usage developer
29+maxTurns: 40
30+# settings guide, row "Small model (≤ 8B), short tasks"
31+maxOutput: 8000
32+firstTokenTimeout: 3m
33+# aligned on bashTimeout, as the settings guide says when bash is on (section
34+# 3)
35+watchdogTimeout: 30s
36+# settings guide, row "Small model (≤ 8B), short tasks"
37+bashTimeout: 30s
38+
39+sampling:
40+ # family qwen: Qwen model cards (thinking 0.6 / 0.95 / 20, non-thinking 0.7
41+ # / 0.8 / 20); precise 0.0 measured with Qwen3.5 4B, thinking off
42+ # (demos/docs-search, memory-search, plans)
43+ temperature: 0.6
44+ top_p: 0.95
45+ top_k: 20
46+ # reasoning on: room for the thoughts plus a whole tool call
47+ max_tokens: 16384
48+ # one tool call per reply: small models run a check before the change it
49+ # checks has landed otherwise
50+ parallel_tool_calls: false
51+ chat_template_kwargs:
52+ # reasoning on: code and multi-step work; the template's default is off
53+ # (read from the chat template)
54+ enable_thinking: true
55+
56+context:
57+ # compress the history before the window is full (settings guide, every row)
58+ enabled: true
59+ # mm's default: 75 % of the window the server serves, a quarter left for the
60+ # next question and its tool outputs
61+ threshold: 75
62+
63+agentsMd:
64+ # An AGENTS.md in the project directory is added to the system prompt.
65+ enabled: true
66+
67+acp:
68+ name: bob
69+ title: "Bob (developer)"
70+
71+system: |
72+ You are a coding agent working in a terminal, in the user's project.
73+ You have a bash tool, file tools (read_file, write_file, edit_file) and a
74+ plan tool.
75+ Read before you change: look at the files and run the commands that tell
76+ you how the project works. Make the smallest change that does the job,
77+ then run the tests or the build to check it.
78+ Never state the output of a command you did not run in this answer.
79+ When a task has several steps, make a plan and update it as you go.
80+
81+# Next: skills (docs/en/how-to/add-a-skill.md), MCP servers (docs/en/tutorials/mcp-getting-started.md),
82+# hooks (docs/en/how-to/guard-the-agent-with-hooks.md), sessions (docs/en/how-to/keep-sessions.md).
new file mode 100644
@@ -0,0 +1,82 @@
1+# bob — a coding agent: reads and changes the project, runs commands.
2+#
3+# Written by `mm init`. Every value says why it has that value; change
4+# them as you watch the agent work (guides/agent-settings-for-small-models.md).
5+#
6+# model family: qwen
7+# usage: developer
8+# machine: small — a laptop, models up to about 8B
9+#
10+# mm -config <this file> or mm -tui <this file>
11+
12+provider: llmman
13+model: "hf.co/unsloth/Qwen3.5-2B-GGUF:Q4_K_M"
14+
15+# 0 = mm asks the server for the window it serves (the model's native window
16+# is 262144 tokens; the server may serve less)
17+contextWindow: 0
18+# your answer: every command and file change waits for your answer
19+yolo: false
20+# usage developer
21+bashTool: true
22+editTools: true
23+planTool: true
24+askUserTool: true
25+# no skills: add a skills/ folder and set skillsDir to use some (see
26+# docs/en/how-to/add-a-skill.md)
27+skillsDir: no-skills
28+# usage developer
29+maxTurns: 40
30+# settings guide, row "Small model (≤ 8B), short tasks"
31+maxOutput: 8000
32+firstTokenTimeout: 3m
33+# aligned on bashTimeout, as the settings guide says when bash is on (section
34+# 3)
35+watchdogTimeout: 30s
36+# settings guide, row "Small model (≤ 8B), short tasks"
37+bashTimeout: 30s
38+
39+sampling:
40+ # family qwen: Qwen model cards (thinking 0.6 / 0.95 / 20, non-thinking 0.7
41+ # / 0.8 / 20); precise 0.0 measured with Qwen3.5 4B, thinking off
42+ # (demos/docs-search, memory-search, plans)
43+ temperature: 0.6
44+ top_p: 0.95
45+ top_k: 20
46+ # reasoning on: room for the thoughts plus a whole tool call
47+ max_tokens: 16384
48+ # one tool call per reply: small models run a check before the change it
49+ # checks has landed otherwise
50+ parallel_tool_calls: false
51+ chat_template_kwargs:
52+ # reasoning on: code and multi-step work; the template's default is off
53+ # (read from the chat template)
54+ enable_thinking: true
55+
56+context:
57+ # compress the history before the window is full (settings guide, every row)
58+ enabled: true
59+ # mm's default: 75 % of the window the server serves, a quarter left for the
60+ # next question and its tool outputs
61+ threshold: 75
62+
63+agentsMd:
64+ # An AGENTS.md in the project directory is added to the system prompt.
65+ enabled: true
66+
67+acp:
68+ name: bob
69+ title: "Bob (developer)"
70+
71+system: |
72+ You are a coding agent working in a terminal, in the user's project.
73+ You have a bash tool, file tools (read_file, write_file, edit_file) and a
74+ plan tool.
75+ Read before you change: look at the files and run the commands that tell
76+ you how the project works. Make the smallest change that does the job,
77+ then run the tests or the build to check it.
78+ Never state the output of a command you did not run in this answer.
79+ When a task has several steps, make a plan and update it as you go.
80+
81+# Next: skills (docs/en/how-to/add-a-skill.md), MCP servers (docs/en/tutorials/mcp-getting-started.md),
82+# hooks (docs/en/how-to/guard-the-agent-with-hooks.md), sessions (docs/en/how-to/keep-sessions.md).
added 01-init/sbxenv.yaml +18 -0
new file mode 100644
@@ -0,0 +1,18 @@
1+schemaVersion: "1"
2+
3+name: mm-01-init
4+
5+agent: mini-me-kit
6+
7+kits:
8+ - docker.io/k33g/mini-me-kit:0.0.6 # comes with Mini Me v0.0.9
9+
10+workspace: ./
11+
12+sandboxOptions:
13+ pullPolicy: always
14+
15+# sbx env run --force
16+# sbx env create --force
17+
18+
new file mode 100644
@@ -0,0 +1,18 @@
1+schemaVersion: "1"
2+
3+name: mm-01-init
4+
5+agent: mini-me-kit
6+
7+kits:
8+ - docker.io/k33g/mini-me-kit:0.0.6 # comes with Mini Me v0.0.9
9+
10+workspace: ./
11+
12+sandboxOptions:
13+ pullPolicy: always
14+
15+# sbx env run --force
16+# sbx env create --force
17+
18+
added README.md +69 -0
new file mode 100644
@@ -0,0 +1,69 @@
1+
2+
3+## Setup
4+
5+### Manually - Global install
6+
7+```bash
8+# download the binary release in https://rickub.com/bots-garden/mini-me/releases
9+VERSION=0.9.0
10+curl -fsSLO "https://rickub.com/bots-garden/mini-me/releases/download/v${VERSION}/mm-${VERSION}-darwin-arm64"
11+chmod +x ./mm-${VERSION}-darwin-arm64
12+xattr -cr ./mm-${VERSION}-darwin-arm64
13+sudo rm -f /usr/local/bin/mm
14+sudo cp ./mm-${VERSION}-darwin-arm64 /usr/local/bin/mm
15+```
16+
17+### With SBX
18+
19+```bash
20+schemaVersion: "1"
21+
22+name: mm-01-init
23+
24+agent: mini-me-kit
25+
26+kits:
27+ - docker.io/k33g/mini-me-kit:0.0.6 # comes with mini me v0.0.9
28+
29+workspace: ./
30+
31+sandboxOptions:
32+ pullPolicy: always
33+```
34+
35+#### Start it
36+
37+```bash
38+sbx env run --force
39+```
40+
41+
42+### With SBX and Zed
43+
44+In a directory (e.g.: `01-init`), create a `sbxenv.yaml` file:
45+
46+```yaml
47+schemaVersion: "1"
48+
49+name: zed-01-init
50+
51+agent: zed-ssh-kit
52+
53+kits:
54+ - docker.io/k33g/zed-ssh-kit:0.0.5
55+ - docker.io/k33g/mini-me-agent-kit:0.0.5
56+ #- docker.io/k33g/go-toolchain-kit:0.0.5
57+
58+workspace: ./
59+
60+sandboxOptions:
61+ pullPolicy: always
62+```
63+
64+#### Start it
65+
66+```bash
67+sbx env create --force
68+zed --new "ssh://zed-01-init.sbx$PWD"
69+```
\ No newline at end of file
new file mode 100644
@@ -0,0 +1,69 @@
1+
2+
3+## Setup
4+
5+### Manually - Global install
6+
7+```bash
8+# download the binary release in https://rickub.com/bots-garden/mini-me/releases
9+VERSION=0.9.0
10+curl -fsSLO "https://rickub.com/bots-garden/mini-me/releases/download/v${VERSION}/mm-${VERSION}-darwin-arm64"
11+chmod +x ./mm-${VERSION}-darwin-arm64
12+xattr -cr ./mm-${VERSION}-darwin-arm64
13+sudo rm -f /usr/local/bin/mm
14+sudo cp ./mm-${VERSION}-darwin-arm64 /usr/local/bin/mm
15+```
16+
17+### With SBX
18+
19+```bash
20+schemaVersion: "1"
21+
22+name: mm-01-init
23+
24+agent: mini-me-kit
25+
26+kits:
27+ - docker.io/k33g/mini-me-kit:0.0.6 # comes with mini me v0.0.9
28+
29+workspace: ./
30+
31+sandboxOptions:
32+ pullPolicy: always
33+```
34+
35+#### Start it
36+
37+```bash
38+sbx env run --force
39+```
40+
41+
42+### With SBX and Zed
43+
44+In a directory (e.g.: `01-init`), create a `sbxenv.yaml` file:
45+
46+```yaml
47+schemaVersion: "1"
48+
49+name: zed-01-init
50+
51+agent: zed-ssh-kit
52+
53+kits:
54+ - docker.io/k33g/zed-ssh-kit:0.0.5
55+ - docker.io/k33g/mini-me-agent-kit:0.0.5
56+ #- docker.io/k33g/go-toolchain-kit:0.0.5
57+
58+workspace: ./
59+
60+sandboxOptions:
61+ pullPolicy: always
62+```
63+
64+#### Start it
65+
66+```bash
67+sbx env create --force
68+zed --new "ssh://zed-01-init.sbx$PWD"
69+```
\ No newline at end of file\ No newline at end of file
added git.sh +136 -0
new file mode 100755
@@ -0,0 +1,136 @@
1+#!/bin/bash
2+message=""
3+case $1 in
4+
5+ # 🎨: art
6+ art)
7+ message="Improve structure / format of the code"
8+ emoji="🎨"
9+ ;;
10+
11+ # 🐛: bug
12+ bug|fix)
13+ message="Fix a bug"
14+ emoji="🐛"
15+ ;;
16+
17+ # 🤓: geek
18+ human|human-fixed)
19+ message="Human Fixed"
20+ emoji="🤓"
21+ ;;
22+
23+ # 🤖: robot
24+ ai|ai-generated)
25+ message="AI generated"
26+ emoji="🤖"
27+ ;;
28+
29+ # ✨: sparkles
30+ sparkles|feature)
31+ message="Introduce new feature(s)"
32+ emoji="✨"
33+ ;;
34+
35+ # 🧩: jigsaw
36+ jigsaw|example|examples|demo|demos)
37+ message="Introduce new example(s)"
38+ emoji="🧩"
39+ ;;
40+
41+
42+ # 📝: memo
43+ memo|doc|documentation)
44+ message="Add or update documentation"
45+ emoji="📝"
46+ ;;
47+
48+ # 🌸: cherry_blossom
49+ gardening|garden|clean|cleaning)
50+ message="Gardening"
51+ emoji="🌸"
52+ ;;
53+
54+ # 🚀: rocket
55+ rocket|deploy)
56+ message="Deploy stuff"
57+ emoji="🚀"
58+ ;;
59+
60+ # 🎉: tada
61+ tada|first)
62+ message="Begin a project"
63+ emoji="🎉"
64+ ;;
65+
66+ # 🚧: construction
67+ construction|wip)
68+ message="Work in progress"
69+ emoji="🚧"
70+ ;;
71+
72+ # 📦️: package
73+ package|build)
74+ message="Add or update compiled files or packages"
75+ emoji="📦️"
76+ ;;
77+
78+ # 📦️: package
79+ release)
80+ message="Create a release"
81+ emoji="📦️"
82+ ;;
83+
84+ # 👽️: alien
85+ alien|api)
86+ message="Update code due to external API changes"
87+ emoji="👽️"
88+ ;;
89+
90+ # 🐳: whale
91+ docker|container)
92+ message="Docker"
93+ emoji="🐳"
94+ ;;
95+
96+ # 🍊: tangerine
97+ gitpod|gitpodify)
98+ message="Gitpodify"
99+ emoji="🍊"
100+ ;;
101+
102+ # 🧪: test tube
103+ alembic|experiments|experiment|xp)
104+ message="Perform experiments"
105+ emoji="🧪"
106+ ;;
107+
108+ # ✅: check mark
109+ test|tests|testing)
110+ message="Add or update tests"
111+ emoji="✅"
112+ ;;
113+
114+ # 💾: floppy-disk
115+ save)
116+ message="Saved"
117+ emoji="💾"
118+ ;;
119+
120+ *)
121+ message="Updated"
122+ emoji="🛟"
123+ ;;
124+
125+esac
126+
127+find . -name '.DS_Store' -type f -delete
128+
129+if [ -z "$2" ]
130+then
131+ # empty
132+ git add .; git commit -m "$emoji $message."; git push
133+else
134+ # not empty
135+ git add .; git commit -m "$emoji $message: $2"; git push
136+fi
new file mode 100755
@@ -0,0 +1,136 @@
1+#!/bin/bash
2+message=""
3+case $1 in
4+
5+ # 🎨: art
6+ art)
7+ message="Improve structure / format of the code"
8+ emoji="🎨"
9+ ;;
10+
11+ # 🐛: bug
12+ bug|fix)
13+ message="Fix a bug"
14+ emoji="🐛"
15+ ;;
16+
17+ # 🤓: geek
18+ human|human-fixed)
19+ message="Human Fixed"
20+ emoji="🤓"
21+ ;;
22+
23+ # 🤖: robot
24+ ai|ai-generated)
25+ message="AI generated"
26+ emoji="🤖"
27+ ;;
28+
29+ # ✨: sparkles
30+ sparkles|feature)
31+ message="Introduce new feature(s)"
32+ emoji="✨"
33+ ;;
34+
35+ # 🧩: jigsaw
36+ jigsaw|example|examples|demo|demos)
37+ message="Introduce new example(s)"
38+ emoji="🧩"
39+ ;;
40+
41+
42+ # 📝: memo
43+ memo|doc|documentation)
44+ message="Add or update documentation"
45+ emoji="📝"
46+ ;;
47+
48+ # 🌸: cherry_blossom
49+ gardening|garden|clean|cleaning)
50+ message="Gardening"
51+ emoji="🌸"
52+ ;;
53+
54+ # 🚀: rocket
55+ rocket|deploy)
56+ message="Deploy stuff"
57+ emoji="🚀"
58+ ;;
59+
60+ # 🎉: tada
61+ tada|first)
62+ message="Begin a project"
63+ emoji="🎉"
64+ ;;
65+
66+ # 🚧: construction
67+ construction|wip)
68+ message="Work in progress"
69+ emoji="🚧"
70+ ;;
71+
72+ # 📦️: package
73+ package|build)
74+ message="Add or update compiled files or packages"
75+ emoji="📦️"
76+ ;;
77+
78+ # 📦️: package
79+ release)
80+ message="Create a release"
81+ emoji="📦️"
82+ ;;
83+
84+ # 👽️: alien
85+ alien|api)
86+ message="Update code due to external API changes"
87+ emoji="👽️"
88+ ;;
89+
90+ # 🐳: whale
91+ docker|container)
92+ message="Docker"
93+ emoji="🐳"
94+ ;;
95+
96+ # 🍊: tangerine
97+ gitpod|gitpodify)
98+ message="Gitpodify"
99+ emoji="🍊"
100+ ;;
101+
102+ # 🧪: test tube
103+ alembic|experiments|experiment|xp)
104+ message="Perform experiments"
105+ emoji="🧪"
106+ ;;
107+
108+ # ✅: check mark
109+ test|tests|testing)
110+ message="Add or update tests"
111+ emoji="✅"
112+ ;;
113+
114+ # 💾: floppy-disk
115+ save)
116+ message="Saved"
117+ emoji="💾"
118+ ;;
119+
120+ *)
121+ message="Updated"
122+ emoji="🛟"
123+ ;;
124+
125+esac
126+
127+find . -name '.DS_Store' -type f -delete
128+
129+if [ -z "$2" ]
130+then
131+ # empty
132+ git add .; git commit -m "$emoji $message."; git push
133+else
134+ # not empty
135+ git add .; git commit -m "$emoji $message: $2"; git push
136+fi