agent-kickstart 0.2.0__tar.gz
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.
- agent_kickstart-0.2.0/LICENSE +21 -0
- agent_kickstart-0.2.0/PKG-INFO +205 -0
- agent_kickstart-0.2.0/README.md +188 -0
- agent_kickstart-0.2.0/pyproject.toml +42 -0
- agent_kickstart-0.2.0/setup.cfg +4 -0
- agent_kickstart-0.2.0/src/agent_kickstart/__init__.py +3 -0
- agent_kickstart-0.2.0/src/agent_kickstart/__main__.py +3 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/.claude/commands/kickstart.md +17 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/.claude/commands/leave-kickstart.md +16 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/.claude/settings.json +96 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/agent-kickstart/METHOD.md +24 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/agent-kickstart/ONBOARDING-PRO.md +94 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/agent-kickstart/ONBOARDING.md +96 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/agent-kickstart/PROGRESSION.md +31 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/agent-kickstart/RUNTIME.md +81 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/agent-kickstart/SAFETY.md +25 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/agent-kickstart/TUTORIAL.md +27 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/agent-kickstart/bin/kickstart-state.mjs +965 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/agent-kickstart/creations/.gitignore +2 -0
- agent_kickstart-0.2.0/src/agent_kickstart/assets/agent-kickstart/state/.gitignore +2 -0
- agent_kickstart-0.2.0/src/agent_kickstart/cli.py +126 -0
- agent_kickstart-0.2.0/src/agent_kickstart.egg-info/PKG-INFO +205 -0
- agent_kickstart-0.2.0/src/agent_kickstart.egg-info/SOURCES.txt +25 -0
- agent_kickstart-0.2.0/src/agent_kickstart.egg-info/dependency_links.txt +1 -0
- agent_kickstart-0.2.0/src/agent_kickstart.egg-info/entry_points.txt +3 -0
- agent_kickstart-0.2.0/src/agent_kickstart.egg-info/top_level.txt +1 -0
- agent_kickstart-0.2.0/tests/test_cli.py +24 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 LPCI
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agent-kickstart
|
|
3
|
+
Version: 0.2.0
|
|
4
|
+
Summary: A project-local beginner-facing harness for Claude Code
|
|
5
|
+
Author: Hermes Labs
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/hermes-labs-ai/agent-kickstart
|
|
8
|
+
Project-URL: Repository, https://github.com/hermes-labs-ai/agent-kickstart
|
|
9
|
+
Project-URL: Issues, https://github.com/hermes-labs-ai/agent-kickstart/issues
|
|
10
|
+
Classifier: Development Status :: 3 - Alpha
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
13
|
+
Requires-Python: >=3.9
|
|
14
|
+
Description-Content-Type: text/markdown
|
|
15
|
+
License-File: LICENSE
|
|
16
|
+
Dynamic: license-file
|
|
17
|
+
|
|
18
|
+
# Agent Kickstart
|
|
19
|
+
|
|
20
|
+
**A guided first project for people new to Claude Code.**
|
|
21
|
+
|
|
22
|
+
Agent Kickstart takes you from an empty folder to a concrete starting point: a
|
|
23
|
+
family recipe page, a decision map, a small local helper, or another project
|
|
24
|
+
shaped around what you actually care about. It asks a few questions, separates
|
|
25
|
+
what you said from what it is only inferring, proposes specific projects, and
|
|
26
|
+
begins the one you choose with you.
|
|
27
|
+
|
|
28
|
+
**You do not need to know how to code or already be comfortable with a
|
|
29
|
+
terminal.** You can ramble, use dictation, make typos, change your mind, or
|
|
30
|
+
reject every suggestion. Kickstart gives you the one terminal line you need to
|
|
31
|
+
copy and paste.
|
|
32
|
+
|
|
33
|
+
## Start here
|
|
34
|
+
|
|
35
|
+
You need [Claude Code](https://docs.anthropic.com/en/docs/claude-code/overview) and Node.js 18 or newer.
|
|
36
|
+
|
|
37
|
+
Open Claude Code in an empty folder and paste this sentence:
|
|
38
|
+
|
|
39
|
+
> Install Agent Kickstart from https://github.com/hermes-labs-ai/agent-kickstart and walk me through it — I'm new to this.
|
|
40
|
+
|
|
41
|
+
That is enough. The repository carries its own instructions for the installing agent
|
|
42
|
+
(`AGENTS.md`): it will briefly explain what Kickstart is before downloading anything, keep
|
|
43
|
+
everything inside your folder, run the installer, and hand you **one copy-paste line** that
|
|
44
|
+
starts Kickstart. On a Mac the installer even puts that line on your clipboard for you.
|
|
45
|
+
|
|
46
|
+
The line looks like this (with your real folder path):
|
|
47
|
+
|
|
48
|
+
```text
|
|
49
|
+
cd -- /path/to/your/folder && claude "/kickstart"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Paste it into your terminal (type `/exit` first if you're still inside Claude Code) and
|
|
53
|
+
Kickstart begins. The same line works any time you come back — nothing to memorize. If a
|
|
54
|
+
workspace trust screen appears, confirm it names your folder, review the project
|
|
55
|
+
permissions, and choose **Yes, I trust this folder**. The one close-and-reopen is how Claude
|
|
56
|
+
Code discovers newly installed project commands — part of installation, not an error.
|
|
57
|
+
|
|
58
|
+
## What your first session feels like
|
|
59
|
+
|
|
60
|
+
Agent Kickstart will:
|
|
61
|
+
|
|
62
|
+
1. ask how carefully it should handle actions in the folder;
|
|
63
|
+
2. invite you to describe yourself in your own words;
|
|
64
|
+
3. ask two or three follow-up questions based on what you actually said;
|
|
65
|
+
4. show what it heard as facts and what it is only tentatively inferring;
|
|
66
|
+
5. offer several specific things you could make, explore, understand, or improve;
|
|
67
|
+
6. let you choose, combine, change, or reject those ideas; and
|
|
68
|
+
7. begin one real thing with you immediately.
|
|
69
|
+
|
|
70
|
+
The choices appear in Claude Code's built-in selector when it is available. A free-text path is always available, so the menu never limits what you can ask for.
|
|
71
|
+
|
|
72
|
+
After that, ordinary language is the interface. Try things like:
|
|
73
|
+
|
|
74
|
+
> Make the second idea more playful.
|
|
75
|
+
|
|
76
|
+
> None of those. Surprise me in a different direction.
|
|
77
|
+
|
|
78
|
+
> I feel overwhelmed. Give me one tiny next step.
|
|
79
|
+
|
|
80
|
+
> Explain what you just changed.
|
|
81
|
+
|
|
82
|
+
## Stop, resume, or correct it
|
|
83
|
+
|
|
84
|
+
Leave guided mode without deleting anything:
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
/leave-kickstart
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
You can also say “turn this off” or “go back to normal Claude.” Starting a fresh Claude Code session gives you the cleanest normal context.
|
|
91
|
+
|
|
92
|
+
If onboarding is interrupted, run `/kickstart` again. It resumes from the saved stage.
|
|
93
|
+
|
|
94
|
+
Your portrait is plain Markdown in `agent-kickstart/state/user-portrait.md`. At any time, say:
|
|
95
|
+
|
|
96
|
+
- “Show me what you think you know about me.”
|
|
97
|
+
- “That is wrong—update my portrait.”
|
|
98
|
+
- “Delete my portrait.”
|
|
99
|
+
- “Use simpler guidance.”
|
|
100
|
+
- “Let me take more control.”
|
|
101
|
+
|
|
102
|
+
Deletion and reset require confirmation. Both delete the private extracted-history corpus;
|
|
103
|
+
reset preserves everything in `agent-kickstart/creations/`.
|
|
104
|
+
|
|
105
|
+
## Safety and privacy
|
|
106
|
+
|
|
107
|
+
Agent Kickstart stays inside this project by default. It does not change your global Claude settings, inspect unrelated personal files, read common credential files, bypass permissions, or publish anything for you. Consequential actions still require an explanation and your approval.
|
|
108
|
+
|
|
109
|
+
Your portrait, interview notes, progress state, and creations remain local files in the project. After the safety stage, the optional existing-history fast lane performs a local counts-only eligibility scan: it parses candidate transcript messages but writes nothing and returns no content. It extracts eligible transcripts and memory into a private corpus only after an engine-recorded choice; choosing the interview mechanically blocks extraction. That corpus stays in the project and is deleted with either “Delete my portrait” or reset. These state files are ignored by Git so they are not accidentally committed. You can read, edit, or delete them.
|
|
110
|
+
|
|
111
|
+
This is defense in depth, not an operating-system sandbox. Always read Claude Code's permission prompts before approving them.
|
|
112
|
+
|
|
113
|
+
## Python installation
|
|
114
|
+
|
|
115
|
+
Once Agent Kickstart 0.2.0 is published, install the helper into your current
|
|
116
|
+
Python environment, then run it inside the empty folder where you want to begin:
|
|
117
|
+
|
|
118
|
+
```sh
|
|
119
|
+
pip install agent-kickstart
|
|
120
|
+
agent-kickstart install
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
The helper checks for Claude Code and Node.js, copies the Kickstart harness only
|
|
124
|
+
into that project, and prints the correct one-line start command for your
|
|
125
|
+
terminal. The equivalent module command is `python -m agent_kickstart install`.
|
|
126
|
+
|
|
127
|
+
If you used an earlier version, the `claude-kickstart` command remains available as a
|
|
128
|
+
compatibility alias. New installations and documentation use `agent-kickstart`.
|
|
129
|
+
|
|
130
|
+
If PyPI reports that no matching distribution exists, version 0.2.0 has not been released
|
|
131
|
+
yet. You can install the current development source from GitHub instead:
|
|
132
|
+
|
|
133
|
+
```sh
|
|
134
|
+
pip install "git+https://github.com/hermes-labs-ai/agent-kickstart.git"
|
|
135
|
+
agent-kickstart install
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
If you already downloaded the repository, open a terminal inside it and run:
|
|
139
|
+
|
|
140
|
+
macOS or Linux:
|
|
141
|
+
|
|
142
|
+
```sh
|
|
143
|
+
bash install.sh
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Windows PowerShell:
|
|
147
|
+
|
|
148
|
+
```powershell
|
|
149
|
+
.\install.ps1
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
The harness installation is project-local and repeatable. It initializes only
|
|
153
|
+
missing state and never overwrites your portrait, history, or creations. The
|
|
154
|
+
Python helper itself remains installed in the Python environment where you ran
|
|
155
|
+
`pip install`.
|
|
156
|
+
|
|
157
|
+
To stop using it, run `/leave-kickstart`. Because the harness is self-contained,
|
|
158
|
+
you can then archive or remove the repository whenever you no longer need the
|
|
159
|
+
local portrait or creations. If you installed the Python helper, remove that
|
|
160
|
+
separately with `pip uninstall agent-kickstart`.
|
|
161
|
+
|
|
162
|
+
## If something does not work
|
|
163
|
+
|
|
164
|
+
- **`/kickstart` is not recognized:** type `/exit` and run the exact start line
|
|
165
|
+
printed by the installer. If it still fails, tell Claude: “Verify
|
|
166
|
+
`.claude/commands/kickstart.md` in this folder and repair only this
|
|
167
|
+
project-local installation.”
|
|
168
|
+
- **Claude says a required file is missing:** make sure you opened the downloaded `agent-kickstart` folder, then run the installer again. It will explain what is missing without guessing or overwriting files.
|
|
169
|
+
- **Node.js is missing or too old:** install Node.js 18 or newer, confirm `node --version` works, and rerun the installer.
|
|
170
|
+
- **You see a workspace trust screen:** confirm the folder came from `hermes-labs-ai/agent-kickstart`, review the listed project permissions, and proceed only if you trust it.
|
|
171
|
+
- **You stopped halfway through:** reopen the same folder and run `/kickstart`; your pending stage should resume.
|
|
172
|
+
|
|
173
|
+
If the problem remains, open a [GitHub issue](https://github.com/hermes-labs-ai/agent-kickstart/issues) without including private portrait or session content.
|
|
174
|
+
|
|
175
|
+
## Requirements and honest limits
|
|
176
|
+
|
|
177
|
+
- Version 0.2 is intentionally Claude Code-specific. Its project commands,
|
|
178
|
+
permission settings, lifecycle hooks, native selector, and optional history
|
|
179
|
+
import use Claude Code surfaces. Supporting Codex or another agent requires a
|
|
180
|
+
separate adapter and is not claimed in this release.
|
|
181
|
+
- Claude Code 2.1 or newer
|
|
182
|
+
- Node.js 18 or newer
|
|
183
|
+
- Tested on macOS with the current Claude Code CLI
|
|
184
|
+
- One close-and-reopen is required after the first installation so Claude Code can discover Kickstart's project command, safety settings, and lifecycle hooks
|
|
185
|
+
- Shell installer exercised on macOS; the PowerShell installer is syntax- and logic-checked but has not been run on Windows in this release
|
|
186
|
+
- Claude generates the adaptive questions and possibilities at runtime, so exact wording varies
|
|
187
|
+
- If Claude Code's native selector is unavailable, Kickstart uses a numbered text fallback
|
|
188
|
+
- The thin project-command files use Claude Code's legacy custom-command surface; Anthropic may eventually require a compatibility update
|
|
189
|
+
|
|
190
|
+
## How it works
|
|
191
|
+
|
|
192
|
+
Agent Kickstart is a small stateful harness, not a personality quiz or a single sequential prompt. A project command loads its runtime contract; a local state engine records onboarding checkpoints, safe exit, portrait ownership, and evidence-based changes in guidance. Synthetic fixtures verify that different people receive materially different possibilities.
|
|
193
|
+
|
|
194
|
+
See [DEMO.md](DEMO.md) for a ten-minute friend demo and [DEVELOPMENT.md](DEVELOPMENT.md) for architecture and test commands.
|
|
195
|
+
|
|
196
|
+
## About
|
|
197
|
+
|
|
198
|
+
Agent Kickstart is built by [Hermes Labs](https://hermes-labs.ai), an AI reliability
|
|
199
|
+
engineering studio for production agents and LLM applications. Kickstart brings that work
|
|
200
|
+
to first-time Claude Code users: a guided, project-local way to begin useful work without
|
|
201
|
+
having to learn terminal conventions first.
|
|
202
|
+
|
|
203
|
+
## License
|
|
204
|
+
|
|
205
|
+
[MIT](LICENSE)
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# Agent Kickstart
|
|
2
|
+
|
|
3
|
+
**A guided first project for people new to Claude Code.**
|
|
4
|
+
|
|
5
|
+
Agent Kickstart takes you from an empty folder to a concrete starting point: a
|
|
6
|
+
family recipe page, a decision map, a small local helper, or another project
|
|
7
|
+
shaped around what you actually care about. It asks a few questions, separates
|
|
8
|
+
what you said from what it is only inferring, proposes specific projects, and
|
|
9
|
+
begins the one you choose with you.
|
|
10
|
+
|
|
11
|
+
**You do not need to know how to code or already be comfortable with a
|
|
12
|
+
terminal.** You can ramble, use dictation, make typos, change your mind, or
|
|
13
|
+
reject every suggestion. Kickstart gives you the one terminal line you need to
|
|
14
|
+
copy and paste.
|
|
15
|
+
|
|
16
|
+
## Start here
|
|
17
|
+
|
|
18
|
+
You need [Claude Code](https://docs.anthropic.com/en/docs/claude-code/overview) and Node.js 18 or newer.
|
|
19
|
+
|
|
20
|
+
Open Claude Code in an empty folder and paste this sentence:
|
|
21
|
+
|
|
22
|
+
> Install Agent Kickstart from https://github.com/hermes-labs-ai/agent-kickstart and walk me through it — I'm new to this.
|
|
23
|
+
|
|
24
|
+
That is enough. The repository carries its own instructions for the installing agent
|
|
25
|
+
(`AGENTS.md`): it will briefly explain what Kickstart is before downloading anything, keep
|
|
26
|
+
everything inside your folder, run the installer, and hand you **one copy-paste line** that
|
|
27
|
+
starts Kickstart. On a Mac the installer even puts that line on your clipboard for you.
|
|
28
|
+
|
|
29
|
+
The line looks like this (with your real folder path):
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
cd -- /path/to/your/folder && claude "/kickstart"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Paste it into your terminal (type `/exit` first if you're still inside Claude Code) and
|
|
36
|
+
Kickstart begins. The same line works any time you come back — nothing to memorize. If a
|
|
37
|
+
workspace trust screen appears, confirm it names your folder, review the project
|
|
38
|
+
permissions, and choose **Yes, I trust this folder**. The one close-and-reopen is how Claude
|
|
39
|
+
Code discovers newly installed project commands — part of installation, not an error.
|
|
40
|
+
|
|
41
|
+
## What your first session feels like
|
|
42
|
+
|
|
43
|
+
Agent Kickstart will:
|
|
44
|
+
|
|
45
|
+
1. ask how carefully it should handle actions in the folder;
|
|
46
|
+
2. invite you to describe yourself in your own words;
|
|
47
|
+
3. ask two or three follow-up questions based on what you actually said;
|
|
48
|
+
4. show what it heard as facts and what it is only tentatively inferring;
|
|
49
|
+
5. offer several specific things you could make, explore, understand, or improve;
|
|
50
|
+
6. let you choose, combine, change, or reject those ideas; and
|
|
51
|
+
7. begin one real thing with you immediately.
|
|
52
|
+
|
|
53
|
+
The choices appear in Claude Code's built-in selector when it is available. A free-text path is always available, so the menu never limits what you can ask for.
|
|
54
|
+
|
|
55
|
+
After that, ordinary language is the interface. Try things like:
|
|
56
|
+
|
|
57
|
+
> Make the second idea more playful.
|
|
58
|
+
|
|
59
|
+
> None of those. Surprise me in a different direction.
|
|
60
|
+
|
|
61
|
+
> I feel overwhelmed. Give me one tiny next step.
|
|
62
|
+
|
|
63
|
+
> Explain what you just changed.
|
|
64
|
+
|
|
65
|
+
## Stop, resume, or correct it
|
|
66
|
+
|
|
67
|
+
Leave guided mode without deleting anything:
|
|
68
|
+
|
|
69
|
+
```text
|
|
70
|
+
/leave-kickstart
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
You can also say “turn this off” or “go back to normal Claude.” Starting a fresh Claude Code session gives you the cleanest normal context.
|
|
74
|
+
|
|
75
|
+
If onboarding is interrupted, run `/kickstart` again. It resumes from the saved stage.
|
|
76
|
+
|
|
77
|
+
Your portrait is plain Markdown in `agent-kickstart/state/user-portrait.md`. At any time, say:
|
|
78
|
+
|
|
79
|
+
- “Show me what you think you know about me.”
|
|
80
|
+
- “That is wrong—update my portrait.”
|
|
81
|
+
- “Delete my portrait.”
|
|
82
|
+
- “Use simpler guidance.”
|
|
83
|
+
- “Let me take more control.”
|
|
84
|
+
|
|
85
|
+
Deletion and reset require confirmation. Both delete the private extracted-history corpus;
|
|
86
|
+
reset preserves everything in `agent-kickstart/creations/`.
|
|
87
|
+
|
|
88
|
+
## Safety and privacy
|
|
89
|
+
|
|
90
|
+
Agent Kickstart stays inside this project by default. It does not change your global Claude settings, inspect unrelated personal files, read common credential files, bypass permissions, or publish anything for you. Consequential actions still require an explanation and your approval.
|
|
91
|
+
|
|
92
|
+
Your portrait, interview notes, progress state, and creations remain local files in the project. After the safety stage, the optional existing-history fast lane performs a local counts-only eligibility scan: it parses candidate transcript messages but writes nothing and returns no content. It extracts eligible transcripts and memory into a private corpus only after an engine-recorded choice; choosing the interview mechanically blocks extraction. That corpus stays in the project and is deleted with either “Delete my portrait” or reset. These state files are ignored by Git so they are not accidentally committed. You can read, edit, or delete them.
|
|
93
|
+
|
|
94
|
+
This is defense in depth, not an operating-system sandbox. Always read Claude Code's permission prompts before approving them.
|
|
95
|
+
|
|
96
|
+
## Python installation
|
|
97
|
+
|
|
98
|
+
Once Agent Kickstart 0.2.0 is published, install the helper into your current
|
|
99
|
+
Python environment, then run it inside the empty folder where you want to begin:
|
|
100
|
+
|
|
101
|
+
```sh
|
|
102
|
+
pip install agent-kickstart
|
|
103
|
+
agent-kickstart install
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
The helper checks for Claude Code and Node.js, copies the Kickstart harness only
|
|
107
|
+
into that project, and prints the correct one-line start command for your
|
|
108
|
+
terminal. The equivalent module command is `python -m agent_kickstart install`.
|
|
109
|
+
|
|
110
|
+
If you used an earlier version, the `claude-kickstart` command remains available as a
|
|
111
|
+
compatibility alias. New installations and documentation use `agent-kickstart`.
|
|
112
|
+
|
|
113
|
+
If PyPI reports that no matching distribution exists, version 0.2.0 has not been released
|
|
114
|
+
yet. You can install the current development source from GitHub instead:
|
|
115
|
+
|
|
116
|
+
```sh
|
|
117
|
+
pip install "git+https://github.com/hermes-labs-ai/agent-kickstart.git"
|
|
118
|
+
agent-kickstart install
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
If you already downloaded the repository, open a terminal inside it and run:
|
|
122
|
+
|
|
123
|
+
macOS or Linux:
|
|
124
|
+
|
|
125
|
+
```sh
|
|
126
|
+
bash install.sh
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Windows PowerShell:
|
|
130
|
+
|
|
131
|
+
```powershell
|
|
132
|
+
.\install.ps1
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
The harness installation is project-local and repeatable. It initializes only
|
|
136
|
+
missing state and never overwrites your portrait, history, or creations. The
|
|
137
|
+
Python helper itself remains installed in the Python environment where you ran
|
|
138
|
+
`pip install`.
|
|
139
|
+
|
|
140
|
+
To stop using it, run `/leave-kickstart`. Because the harness is self-contained,
|
|
141
|
+
you can then archive or remove the repository whenever you no longer need the
|
|
142
|
+
local portrait or creations. If you installed the Python helper, remove that
|
|
143
|
+
separately with `pip uninstall agent-kickstart`.
|
|
144
|
+
|
|
145
|
+
## If something does not work
|
|
146
|
+
|
|
147
|
+
- **`/kickstart` is not recognized:** type `/exit` and run the exact start line
|
|
148
|
+
printed by the installer. If it still fails, tell Claude: “Verify
|
|
149
|
+
`.claude/commands/kickstart.md` in this folder and repair only this
|
|
150
|
+
project-local installation.”
|
|
151
|
+
- **Claude says a required file is missing:** make sure you opened the downloaded `agent-kickstart` folder, then run the installer again. It will explain what is missing without guessing or overwriting files.
|
|
152
|
+
- **Node.js is missing or too old:** install Node.js 18 or newer, confirm `node --version` works, and rerun the installer.
|
|
153
|
+
- **You see a workspace trust screen:** confirm the folder came from `hermes-labs-ai/agent-kickstart`, review the listed project permissions, and proceed only if you trust it.
|
|
154
|
+
- **You stopped halfway through:** reopen the same folder and run `/kickstart`; your pending stage should resume.
|
|
155
|
+
|
|
156
|
+
If the problem remains, open a [GitHub issue](https://github.com/hermes-labs-ai/agent-kickstart/issues) without including private portrait or session content.
|
|
157
|
+
|
|
158
|
+
## Requirements and honest limits
|
|
159
|
+
|
|
160
|
+
- Version 0.2 is intentionally Claude Code-specific. Its project commands,
|
|
161
|
+
permission settings, lifecycle hooks, native selector, and optional history
|
|
162
|
+
import use Claude Code surfaces. Supporting Codex or another agent requires a
|
|
163
|
+
separate adapter and is not claimed in this release.
|
|
164
|
+
- Claude Code 2.1 or newer
|
|
165
|
+
- Node.js 18 or newer
|
|
166
|
+
- Tested on macOS with the current Claude Code CLI
|
|
167
|
+
- One close-and-reopen is required after the first installation so Claude Code can discover Kickstart's project command, safety settings, and lifecycle hooks
|
|
168
|
+
- Shell installer exercised on macOS; the PowerShell installer is syntax- and logic-checked but has not been run on Windows in this release
|
|
169
|
+
- Claude generates the adaptive questions and possibilities at runtime, so exact wording varies
|
|
170
|
+
- If Claude Code's native selector is unavailable, Kickstart uses a numbered text fallback
|
|
171
|
+
- The thin project-command files use Claude Code's legacy custom-command surface; Anthropic may eventually require a compatibility update
|
|
172
|
+
|
|
173
|
+
## How it works
|
|
174
|
+
|
|
175
|
+
Agent Kickstart is a small stateful harness, not a personality quiz or a single sequential prompt. A project command loads its runtime contract; a local state engine records onboarding checkpoints, safe exit, portrait ownership, and evidence-based changes in guidance. Synthetic fixtures verify that different people receive materially different possibilities.
|
|
176
|
+
|
|
177
|
+
See [DEMO.md](DEMO.md) for a ten-minute friend demo and [DEVELOPMENT.md](DEVELOPMENT.md) for architecture and test commands.
|
|
178
|
+
|
|
179
|
+
## About
|
|
180
|
+
|
|
181
|
+
Agent Kickstart is built by [Hermes Labs](https://hermes-labs.ai), an AI reliability
|
|
182
|
+
engineering studio for production agents and LLM applications. Kickstart brings that work
|
|
183
|
+
to first-time Claude Code users: a guided, project-local way to begin useful work without
|
|
184
|
+
having to learn terminal conventions first.
|
|
185
|
+
|
|
186
|
+
## License
|
|
187
|
+
|
|
188
|
+
[MIT](LICENSE)
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=77"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "agent-kickstart"
|
|
7
|
+
version = "0.2.0"
|
|
8
|
+
description = "A project-local beginner-facing harness for Claude Code"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.9"
|
|
11
|
+
license = "MIT"
|
|
12
|
+
authors = [{name = "Hermes Labs"}]
|
|
13
|
+
classifiers = [
|
|
14
|
+
"Development Status :: 3 - Alpha",
|
|
15
|
+
"Programming Language :: Python :: 3",
|
|
16
|
+
"Programming Language :: Python :: 3 :: Only",
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
[project.urls]
|
|
20
|
+
Homepage = "https://github.com/hermes-labs-ai/agent-kickstart"
|
|
21
|
+
Repository = "https://github.com/hermes-labs-ai/agent-kickstart"
|
|
22
|
+
Issues = "https://github.com/hermes-labs-ai/agent-kickstart/issues"
|
|
23
|
+
|
|
24
|
+
[project.scripts]
|
|
25
|
+
agent-kickstart = "agent_kickstart.cli:main"
|
|
26
|
+
claude-kickstart = "agent_kickstart.cli:main"
|
|
27
|
+
|
|
28
|
+
[tool.setuptools]
|
|
29
|
+
package-dir = {"" = "src"}
|
|
30
|
+
|
|
31
|
+
[tool.setuptools.packages.find]
|
|
32
|
+
where = ["src"]
|
|
33
|
+
|
|
34
|
+
[tool.setuptools.package-data]
|
|
35
|
+
agent_kickstart = [
|
|
36
|
+
"assets/.claude/commands/*.md",
|
|
37
|
+
"assets/.claude/settings.json",
|
|
38
|
+
"assets/agent-kickstart/*.md",
|
|
39
|
+
"assets/agent-kickstart/bin/*.mjs",
|
|
40
|
+
"assets/agent-kickstart/state/.gitignore",
|
|
41
|
+
"assets/agent-kickstart/creations/.gitignore",
|
|
42
|
+
]
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Start or resume the guided beginner experience
|
|
3
|
+
argument-hint: "[resume|reset]"
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
@agent-kickstart/RUNTIME.md
|
|
8
|
+
|
|
9
|
+
Apply the runtime above now. This is the one visible entry surface for Agent Kickstart.
|
|
10
|
+
|
|
11
|
+
1. Run `node agent-kickstart/bin/kickstart-state.mjs enter` from the project root. This only updates readable project-local state; normal permission handling remains authoritative.
|
|
12
|
+
2. Use the returned `route`, `status.stage`, and the runtime transition table to start, resume, or welcome back the user.
|
|
13
|
+
3. Do not merely summarize the runtime or present a command manual.
|
|
14
|
+
4. Use `AskUserQuestion` when the runtime calls for a native choice. If it is unavailable, use the documented numbered fallback.
|
|
15
|
+
5. Treat `$ARGUMENTS` only as an optional requested action. Never reset or delete data without explicit confirmation.
|
|
16
|
+
|
|
17
|
+
Begin the experience in this turn.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Leave the guided beginner experience without deleting work
|
|
3
|
+
disable-model-invocation: true
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Run `node agent-kickstart/bin/kickstart-state.mjs leave` from the project root, then plainly tell the user:
|
|
7
|
+
|
|
8
|
+
- guided mode is inactive;
|
|
9
|
+
- their portrait, possibility history, and creations were preserved;
|
|
10
|
+
- normal Claude Code behavior resumes for later prompts;
|
|
11
|
+
- to come back later, they type `/kickstart` — that exact command is the only reliable re-entry. Never tell them a plain-language phrase like "turn Kickstart back on" will work in a fresh session; once guided mode is inactive, a new session knows nothing about Kickstart until `/kickstart` is typed;
|
|
12
|
+
- starting a fresh Claude Code session is the strongest way to remove residual guided instructions from this already-open conversation.
|
|
13
|
+
|
|
14
|
+
If the user's message asked anything else alongside the exit (for example "what do you know about me? and turn this off"), answer that request fully BEFORE running `leave`. An exit request never swallows the other intents in the same message.
|
|
15
|
+
|
|
16
|
+
Do not delete, reset, or modify their creations. Do not keep applying the Agent Kickstart interaction style after acknowledging the exit.
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"defaultMode": "default",
|
|
4
|
+
"disableBypassPermissionsMode": "disable",
|
|
5
|
+
"disableAutoMode": "disable",
|
|
6
|
+
"allow": [
|
|
7
|
+
"Edit(agent-kickstart/state/user-portrait.md)",
|
|
8
|
+
"Edit(agent-kickstart/state/possibility-history.md)",
|
|
9
|
+
"Edit(agent-kickstart/state/onboarding-notes.md)",
|
|
10
|
+
"Edit(agent-kickstart/state/pending-selection.md)",
|
|
11
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs init)",
|
|
12
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs doctor)",
|
|
13
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs status)",
|
|
14
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs enter)",
|
|
15
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_safety)",
|
|
16
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_self_description)",
|
|
17
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_self_description safest-default)",
|
|
18
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_self_description files-here-okay)",
|
|
19
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_self_description ask-every-time)",
|
|
20
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_history_choice)",
|
|
21
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs history-choice use-history)",
|
|
22
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs history-choice interview)",
|
|
23
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs history-scan)",
|
|
24
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs history-extract)",
|
|
25
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs portrait-verify)",
|
|
26
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_followup_1)",
|
|
27
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_followup_2)",
|
|
28
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_followup_3)",
|
|
29
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_portrait_confirmation)",
|
|
30
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_orientation)",
|
|
31
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint awaiting_possibility)",
|
|
32
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs checkpoint first_action)",
|
|
33
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs complete)",
|
|
34
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs leave)",
|
|
35
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs request-reset)",
|
|
36
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs reset --confirm)",
|
|
37
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs portrait-clear --confirm)",
|
|
38
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs select-from-pending)",
|
|
39
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs evidence modified_suggestion)",
|
|
40
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs evidence corrected_assumption)",
|
|
41
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs evidence understood_file_change)",
|
|
42
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs evidence chose_scope)",
|
|
43
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs evidence requested_control)",
|
|
44
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs evidence recovered_from_error)",
|
|
45
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs evidence asked_underlying_mechanism)",
|
|
46
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs guidance adaptive)",
|
|
47
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs guidance simpler)",
|
|
48
|
+
"Bash(node agent-kickstart/bin/kickstart-state.mjs guidance advanced)"
|
|
49
|
+
],
|
|
50
|
+
"ask": [
|
|
51
|
+
"WebFetch",
|
|
52
|
+
"WebSearch"
|
|
53
|
+
],
|
|
54
|
+
"deny": [
|
|
55
|
+
"Read(~/.ssh/**)",
|
|
56
|
+
"Read(~/.aws/**)",
|
|
57
|
+
"Read(~/.config/gcloud/**)",
|
|
58
|
+
"Read(~/.gnupg/**)",
|
|
59
|
+
"Read(~/.kube/**)",
|
|
60
|
+
"Read(**/.env)",
|
|
61
|
+
"Read(**/.env.*)",
|
|
62
|
+
"Edit(~/.ssh/**)",
|
|
63
|
+
"Edit(~/.aws/**)",
|
|
64
|
+
"Edit(~/.config/gcloud/**)",
|
|
65
|
+
"Edit(~/.gnupg/**)",
|
|
66
|
+
"Edit(~/.kube/**)",
|
|
67
|
+
"Edit(**/.env)",
|
|
68
|
+
"Edit(**/.env.*)"
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
"hooks": {
|
|
72
|
+
"SessionStart": [
|
|
73
|
+
{
|
|
74
|
+
"matcher": "startup|resume|clear|compact",
|
|
75
|
+
"hooks": [
|
|
76
|
+
{
|
|
77
|
+
"type": "command",
|
|
78
|
+
"command": "node agent-kickstart/bin/kickstart-state.mjs hook-context",
|
|
79
|
+
"timeout": 5
|
|
80
|
+
}
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"SessionEnd": [
|
|
85
|
+
{
|
|
86
|
+
"hooks": [
|
|
87
|
+
{
|
|
88
|
+
"type": "command",
|
|
89
|
+
"command": "node agent-kickstart/bin/kickstart-state.mjs session-end",
|
|
90
|
+
"timeout": 5
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Possibility Method
|
|
2
|
+
|
|
3
|
+
Personalization is not noun substitution. Generate a small horizon of action from the person's language.
|
|
4
|
+
|
|
5
|
+
Every possibility must answer:
|
|
6
|
+
|
|
7
|
+
1. Why does this fit this person specifically?
|
|
8
|
+
2. What will they actually do or experience?
|
|
9
|
+
3. What can exist in the first 10–30 minutes?
|
|
10
|
+
|
|
11
|
+
Across the four explicit native options, vary:
|
|
12
|
+
|
|
13
|
+
- practical and exploratory;
|
|
14
|
+
- making and understanding;
|
|
15
|
+
- software and non-software;
|
|
16
|
+
- immediate and more ambitious;
|
|
17
|
+
- familiar and surprising;
|
|
18
|
+
- emotional tone and time horizon.
|
|
19
|
+
|
|
20
|
+
Avoid generic labels such as “Build something,” “Research,” or “Create art.” Avoid flattering psychological certainty. Use the user's domains as source material without trapping them inside those domains.
|
|
21
|
+
|
|
22
|
+
“Surprise me” must still be personalized: combine two real themes or reveal a plausible adjacent capability. It is not permission to output a random idea.
|
|
23
|
+
|
|
24
|
+
The choices are sparks, not permitted categories. The user can combine, modify, reject, or speak a new direction. Record useful reactions in `state/possibility-history.md` so later generations learn from both attraction and rejection.
|