@markusylisiurunen/tau 0.1.10 → 0.1.11

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.
Files changed (53) hide show
  1. package/README.md +40 -20
  2. package/dist/app.js +83 -10
  3. package/dist/app.js.map +1 -1
  4. package/dist/bash_commands.js +37 -16
  5. package/dist/bash_commands.js.map +1 -1
  6. package/dist/cli.js +6 -6
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands.js +29 -1
  9. package/dist/commands.js.map +1 -1
  10. package/dist/config.js +27 -15
  11. package/dist/config.js.map +1 -1
  12. package/dist/content_loader.js +201 -48
  13. package/dist/content_loader.js.map +1 -1
  14. package/dist/main.js +4 -0
  15. package/dist/main.js.map +1 -1
  16. package/dist/personas.js +27 -7
  17. package/dist/personas.js.map +1 -1
  18. package/dist/session/session_engine.js +1 -1
  19. package/dist/session/session_engine.js.map +1 -1
  20. package/dist/subagents/registry.js +4 -1
  21. package/dist/subagents/registry.js.map +1 -1
  22. package/dist/subagents/subagent_engine.js +20 -2
  23. package/dist/subagents/subagent_engine.js.map +1 -1
  24. package/dist/subagents/web.js +58 -0
  25. package/dist/subagents/web.js.map +1 -0
  26. package/dist/tools/bash.js +9 -4
  27. package/dist/tools/bash.js.map +1 -1
  28. package/dist/tools/edit.js +8 -5
  29. package/dist/tools/edit.js.map +1 -1
  30. package/dist/tools/registry.js.map +1 -1
  31. package/dist/tools/task.js +8 -5
  32. package/dist/tools/task.js.map +1 -1
  33. package/dist/tools/web_fetch.js +268 -0
  34. package/dist/tools/web_fetch.js.map +1 -0
  35. package/dist/tools/web_search.js +256 -0
  36. package/dist/tools/web_search.js.map +1 -0
  37. package/dist/tools/write.js +7 -4
  38. package/dist/tools/write.js.map +1 -1
  39. package/dist/types.js +5 -1
  40. package/dist/types.js.map +1 -1
  41. package/dist/ui/custom_editor.js +13 -0
  42. package/dist/ui/custom_editor.js.map +1 -1
  43. package/dist/ui/slash_autocomplete.js +6 -3
  44. package/dist/ui/slash_autocomplete.js.map +1 -1
  45. package/dist/ui/task_execution.js +15 -0
  46. package/dist/ui/task_execution.js.map +1 -1
  47. package/dist/utils/context.js +15 -0
  48. package/dist/utils/context.js.map +1 -1
  49. package/dist/utils/project_files.js +124 -1
  50. package/dist/utils/project_files.js.map +1 -1
  51. package/dist/utils/zod.js +9 -0
  52. package/dist/utils/zod.js.map +1 -0
  53. package/package.json +5 -4
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # tau
2
2
 
3
- a terminal-based AI chat client for working with code. tau gives you access to Claude, GPT, and Gemini models, each equipped with tools to explore, write, and edit files in your project.
3
+ a terminal-based AI chat client for working with code. tau gives you access to Claude, GPT, and Gemini models, each equipped with tools to explore, write, and edit files in your project, plus optional sub-agents for deeper codebase investigation and web research.
4
4
 
5
5
  ![tau](./assets/tau.png)
6
6
 
@@ -24,13 +24,16 @@ or store keys in `~/.config/tau/config.json`:
24
24
  "apiKeys": {
25
25
  "anthropic": "sk-ant-...",
26
26
  "openai": "sk-...",
27
- "google": "..."
27
+ "google": "...",
28
+ "parallel": "..."
28
29
  }
29
30
  }
30
31
  ```
31
32
 
32
33
  environment variables take precedence over the config file.
33
34
 
35
+ `parallel` is only needed for the web sub-agent tools (`web_search`/`web_fetch`).
36
+
34
37
  ## security notice
35
38
 
36
39
  **the risk level system is a UX guardrail, not a hard security boundary.** it helps prevent accidental writes and guides model behavior, but it has significant limitations:
@@ -86,7 +89,7 @@ tau comes with several built-in personas across different models:
86
89
  - **GPT-5.2** (OpenAI)
87
90
  - **Gemini 3 Pro** and **Gemini 2.5 Flash** (Google)
88
91
 
89
- each model has three variants: a general-purpose assistant, a coder variant optimized for software engineering, and a raw variant with minimal prompting.
92
+ each model has three variants: a general-purpose assistant, a coder variant optimized for software engineering, and a raw variant with minimal prompting. basic and coder variants include the `web` sub-agent for web research, and coder variants also include the `explore` sub-agent for multi-turn codebase investigation.
90
93
 
91
94
  switch personas at startup with `--persona` or mid-session with `/persona:<id>`:
92
95
 
@@ -94,6 +97,15 @@ switch personas at startup with `--persona` or mid-session with `/persona:<id>`:
94
97
  tau --persona opus-4.5-coder
95
98
  ```
96
99
 
100
+ ## sub-agents
101
+
102
+ some personas can run isolated sub-agents via the internal `task` tool:
103
+
104
+ - `explore`: read-only, multi-turn codebase investigation
105
+ - `web`: high-threshold web research using Parallel Search/Extract (`web_search`/`web_fetch`)
106
+
107
+ to use the web sub-agent, set `apiKeys.parallel` in `~/.config/tau/config.json` (see above). tau will only make web calls when needed or when you explicitly ask for web research.
108
+
97
109
  ## reasoning
98
110
 
99
111
  some models support extended thinking, where they reason through problems before responding. cycle through reasoning levels with `shift+tab`, or set one at startup:
@@ -130,20 +142,20 @@ tau will create or update AGENTS.md at your project root, integrating the new in
130
142
 
131
143
  tau supports slash commands for common actions:
132
144
 
133
- | command | description |
134
- | ---------------------- | -------------------------------------------- |
135
- | `/help` | show available commands |
136
- | `/new` | clear the session and start fresh |
137
- | `/copy` | copy the last assistant message |
138
- | `/copy:code` | copy just the code blocks |
139
- | `/reload` | reload personas and prompts from disk |
140
- | `/fork:only-summary` | compress history and continue with a summary |
141
- | `/fork:with-last-turn` | compress history but keep the last exchange |
142
- | `/persona:<id>` | switch to a different persona |
143
- | `/prompt:<id>` | insert a saved prompt template |
144
- | `/bash:<id>` | run a saved shell command |
145
- | `/risk:<level>` | change the risk level |
146
- | `!<cmd>` | run a shell command directly |
145
+ | command | description |
146
+ | ---------------------- | ---------------------------------------------- |
147
+ | `/help` | show available commands |
148
+ | `/new` | clear the session and start fresh |
149
+ | `/copy` | copy the last assistant message |
150
+ | `/copy:code` | copy just the code blocks |
151
+ | `/reload` | reload personas, prompts, and skills from disk |
152
+ | `/fork:only-summary` | compress history and continue with a summary |
153
+ | `/fork:with-last-turn` | compress history but keep the last exchange |
154
+ | `/persona:<id>` | switch to a different persona |
155
+ | `/prompt:<id>` | insert a saved prompt template |
156
+ | `/bash:<id>` | run a saved shell command |
157
+ | `/risk:<level>` | change the risk level |
158
+ | `!<cmd>` | run a shell command directly |
147
159
 
148
160
  the fork commands are useful when conversations get long. they compress everything into a summary so the model retains context without the overhead of a full history.
149
161
 
@@ -169,7 +181,8 @@ store settings in `~/.config/tau/config.json`:
169
181
  "apiKeys": {
170
182
  "anthropic": "sk-ant-...",
171
183
  "openai": "sk-...",
172
- "google": "..."
184
+ "google": "...",
185
+ "parallel": "..."
173
186
  },
174
187
  "defaultPersona": "gpt-5.2",
175
188
  "defaultRisk": "read-write",
@@ -222,7 +235,8 @@ you can also set model parameters via optional frontmatter fields:
222
235
 
223
236
  - `reasoning`: one of `none`, `minimal`, `low`, `medium`, `high`, `xhigh`
224
237
  - `allowedReasoningLevels`: list of reasoning levels shown in the ui
225
- - `subagents`: enable sub-agents (currently only `explore` is supported) for multi-turn codebase investigation. you can specify as a list (`subagents: [explore]`) to use the main persona's model, or as an object to customize each sub-agent's model and reasoning. example:
238
+ - `skills`: list of enabled skill names (matched by `name` in skill frontmatter), or `"*"` to enable all discovered skills
239
+ - `subagents`: enable sub-agents (`explore` for multi-turn codebase investigation, `web` for web research). you can specify as a list (`subagents: [explore]`, `subagents: [web]`, or `subagents: [explore, web]`) to use the main persona's model, or as an object to customize each sub-agent's model and reasoning. example:
226
240
  ```yaml
227
241
  subagents:
228
242
  explore:
@@ -248,7 +262,13 @@ suggest specific improvements with code examples.
248
262
 
249
263
  insert them with `/prompt:review`. if a project prompt id conflicts with a user or built-in prompt, the project prompt wins.
250
264
 
251
- use `/reload` to pick up changes to personas and prompts without restarting.
265
+ ### skills
266
+
267
+ skills are optional markdown files discovered at `~/.config/tau/skills/<dir>/SKILL.md` (user-level) and `.tau/skills/<dir>/SKILL.md` (project-level). each `SKILL.md` must contain yaml frontmatter with `name` and `description`.
268
+
269
+ enable skills per persona with the `skills` frontmatter field. you can list specific skill names (matched by `name` in skill frontmatter), or use `"*"` to enable all discovered skills. all non-raw built-in personas (basic and coder variants) have `skills: "*"` by default. tau injects an index of enabled skills into the system prompt containing only each skill's `name`, `description`, and absolute file path.
270
+
271
+ use `/reload` to pick up changes to personas, prompts, and skills without restarting.
252
272
 
253
273
  ## how it works
254
274
 
package/dist/app.js CHANGED
@@ -14,7 +14,7 @@ import { createEditToolDefinition } from "./tools/edit.js";
14
14
  import { ToolRegistry } from "./tools/registry.js";
15
15
  import { createTaskToolDefinition } from "./tools/task.js";
16
16
  import { createWriteToolDefinition } from "./tools/write.js";
17
- import { REASONING_LEVELS } from "./types.js";
17
+ import { REASONING_LEVELS, } from "./types.js";
18
18
  import { AssistantMessageComponent } from "./ui/assistant_message.js";
19
19
  import { renderBashBlocked, renderBashExecution, renderBashRunning } from "./ui/bash_execution.js";
20
20
  import { ChatContainerComponent } from "./ui/chat_container.js";
@@ -24,17 +24,17 @@ import { FooterComponent } from "./ui/footer.js";
24
24
  import { QueuedMessagesComponent } from "./ui/queued_messages.js";
25
25
  import { SessionDividerComponent } from "./ui/session_divider.js";
26
26
  import { SessionSummaryComponent } from "./ui/session_summary.js";
27
- import { SlashAutocompleteProvider } from "./ui/slash_autocomplete.js";
27
+ import { getFileAutocompleteToken, SlashAutocompleteProvider } from "./ui/slash_autocomplete.js";
28
28
  import { SystemMessageComponent } from "./ui/system_message.js";
29
29
  import { renderTaskBlocked, renderTaskFinished, renderTaskRunning } from "./ui/task_execution.js";
30
30
  import { editorBorderForReasoning, theme } from "./ui/theme.js";
31
31
  import { UserMessageComponent } from "./ui/user_message.js";
32
- import { buildBaseSystemPrompt, buildEnvironmentTag, buildProjectContextBlock, findAgentsFilesFromCwdToHome, formatRiskLevelChangeNotice, } from "./utils/context.js";
32
+ import { buildBaseSystemPrompt, buildEnvironmentTag, buildProjectContextBlock, buildSkillsIndexBlock, findAgentsFilesFromCwdToHome, formatRiskLevelChangeNotice, } from "./utils/context.js";
33
33
  import { formatHistoryForCompression } from "./utils/fork.js";
34
34
  import { formatAdaptiveNumber, formatCwd, formatTokenWindow } from "./utils/format.js";
35
35
  import { getGitRoot } from "./utils/git.js";
36
36
  import { extractAllFencedCodeBlocks, extractAssistantText } from "./utils/messages.js";
37
- import { listProjectFiles } from "./utils/project_files.js";
37
+ import { listProjectFiles, listProjectFilesAsync } from "./utils/project_files.js";
38
38
  const { palette } = theme;
39
39
  export class ChatApp {
40
40
  ui;
@@ -45,6 +45,7 @@ export class ChatApp {
45
45
  personas;
46
46
  currentPersona;
47
47
  prompts;
48
+ skills;
48
49
  bashCommands;
49
50
  repoRoot;
50
51
  initialUserMessage;
@@ -68,7 +69,9 @@ export class ChatApp {
68
69
  initialRiskLevel;
69
70
  environmentTag;
70
71
  projectContextBlock;
71
- projectFiles;
72
+ projectFiles = [];
73
+ isRefreshingProjectFiles = false;
74
+ isInFileAutocomplete = false;
72
75
  agentsFiles;
73
76
  baseSystemPrompt;
74
77
  pendingRiskLevelChange;
@@ -77,6 +80,7 @@ export class ChatApp {
77
80
  constructor(options) {
78
81
  this.personas = options.personas;
79
82
  this.prompts = options.prompts ?? [];
83
+ this.skills = options.skills ?? [];
80
84
  this.bashCommands = options.bashCommands ?? [];
81
85
  this.repoRoot = getGitRoot(process.cwd()) ?? process.cwd();
82
86
  this.initialUserMessage = options.initialUserMessage;
@@ -105,6 +109,7 @@ export class ChatApp {
105
109
  this.clampPersonaReasoning(this.currentPersona);
106
110
  this.baseSystemPrompt = buildBaseSystemPrompt({
107
111
  personaSystemPrompt: this.currentPersona.systemPrompt,
112
+ skillsBlock: this.getSkillsIndexBlockForPersona(this.currentPersona).skillsBlock,
108
113
  projectContextBlock: this.projectContextBlock,
109
114
  environmentTag: this.environmentTag,
110
115
  userPreferences: this.config.userPreferences,
@@ -138,7 +143,7 @@ export class ChatApp {
138
143
  this.ui.addChild(this.editor);
139
144
  this.ui.addChild(this.footer);
140
145
  const headerText = `\n${palette.accent("tau")} ${palette.muted("– terminal chat")}\n\n` +
141
- palette.muted(buildHelpText(this.agentsFiles));
146
+ palette.muted(buildHelpText(this.agentsFiles, this.skills));
142
147
  this.chatContainer.addMessage(new Text(headerText, 1, 0));
143
148
  this.ui.setFocus(this.editor);
144
149
  this.updateFooter();
@@ -168,9 +173,15 @@ export class ChatApp {
168
173
  this.editor.onChange = (text) => {
169
174
  const wasBash = this.isBashMode;
170
175
  const wasMemory = this.isMemoryMode;
176
+ const wasInFileAutocomplete = this.isInFileAutocomplete;
171
177
  const trimmed = text.trimStart();
172
178
  this.isBashMode = trimmed.startsWith("!");
173
179
  this.isMemoryMode = trimmed.startsWith("#");
180
+ const beforeCursor = this.getEditorTextBeforeCursor();
181
+ this.isInFileAutocomplete = Boolean(getFileAutocompleteToken(beforeCursor));
182
+ if (!wasInFileAutocomplete && this.isInFileAutocomplete) {
183
+ this.refreshProjectFilesInBackground();
184
+ }
174
185
  if (wasBash !== this.isBashMode || wasMemory !== this.isMemoryMode) {
175
186
  this.updateEditorBorderColor();
176
187
  }
@@ -181,6 +192,27 @@ export class ChatApp {
181
192
  })), () => this.projectFiles));
182
193
  this.editor.onSubmit = (text) => this.handleSubmit(text);
183
194
  }
195
+ getEditorTextBeforeCursor() {
196
+ const { line, col } = this.editor.getCursor();
197
+ const lines = this.editor.getLines();
198
+ const current = lines[line] ?? "";
199
+ return current.slice(0, col);
200
+ }
201
+ refreshProjectFilesInBackground() {
202
+ if (this.isRefreshingProjectFiles)
203
+ return;
204
+ this.isRefreshingProjectFiles = true;
205
+ void listProjectFilesAsync(process.cwd())
206
+ .then((files) => {
207
+ this.projectFiles = files;
208
+ })
209
+ .catch(() => {
210
+ // Ignore refresh errors; autocomplete will keep using the existing cache.
211
+ })
212
+ .finally(() => {
213
+ this.isRefreshingProjectFiles = false;
214
+ });
215
+ }
184
216
  async start() {
185
217
  this.ui.start();
186
218
  if (this.initialUserMessage) {
@@ -332,6 +364,34 @@ export class ChatApp {
332
364
  persona.settings.reasoning = allowed[0];
333
365
  }
334
366
  }
367
+ getSkillsIndexBlockForPersona(persona) {
368
+ const enabled = persona.skills;
369
+ if (!enabled) {
370
+ return { unknown: [] };
371
+ }
372
+ const skillsByName = new Map();
373
+ for (const skill of this.skills) {
374
+ skillsByName.set(skill.name.toLowerCase(), skill);
375
+ }
376
+ const selected = [];
377
+ const unknown = [];
378
+ const seen = new Set();
379
+ const enabledArray = enabled === "*" ? Array.from(skillsByName.keys()) : enabled;
380
+ for (const name of enabledArray) {
381
+ const key = name.toLowerCase();
382
+ if (seen.has(key))
383
+ continue;
384
+ seen.add(key);
385
+ const skill = skillsByName.get(key);
386
+ if (skill) {
387
+ selected.push(skill);
388
+ }
389
+ else if (enabled !== "*") {
390
+ unknown.push(name);
391
+ }
392
+ }
393
+ return { skillsBlock: buildSkillsIndexBlock(selected), unknown };
394
+ }
335
395
  // User Actions ----------------------------------------------------------------------------------
336
396
  toggleThinkingVisibility() {
337
397
  this.showThinking = !this.showThinking;
@@ -549,7 +609,7 @@ export class ChatApp {
549
609
  }
550
610
  }
551
611
  showHelp() {
552
- this.addSystemMessage(buildHelpText(this.agentsFiles), palette.muted);
612
+ this.addSystemMessage(buildHelpText(this.agentsFiles, this.skills), palette.muted);
553
613
  }
554
614
  async copyLastAssistantMessage() {
555
615
  const lastAssistant = this.getLastAssistantMessage();
@@ -672,6 +732,7 @@ export class ChatApp {
672
732
  });
673
733
  this.baseSystemPrompt = buildBaseSystemPrompt({
674
734
  personaSystemPrompt: this.currentPersona.systemPrompt,
735
+ skillsBlock: this.getSkillsIndexBlockForPersona(this.currentPersona).skillsBlock,
675
736
  projectContextBlock: this.projectContextBlock,
676
737
  environmentTag: this.environmentTag,
677
738
  previousSessionSummary,
@@ -823,8 +884,10 @@ Write plain prose, no formatting. Be thorough enough that the reader can resume
823
884
  }
824
885
  this.currentPersona = persona;
825
886
  this.clampPersonaReasoning(this.currentPersona);
887
+ const skillsContext = this.getSkillsIndexBlockForPersona(this.currentPersona);
826
888
  this.baseSystemPrompt = buildBaseSystemPrompt({
827
889
  personaSystemPrompt: this.currentPersona.systemPrompt,
890
+ skillsBlock: skillsContext.skillsBlock,
828
891
  projectContextBlock: this.projectContextBlock,
829
892
  environmentTag: this.environmentTag,
830
893
  previousSessionSummary: this.previousSessionSummary,
@@ -833,6 +896,9 @@ Write plain prose, no formatting. Be thorough enough that the reader can resume
833
896
  this.engine.setPersona(this.currentPersona, this.baseSystemPrompt);
834
897
  this.updateFooter();
835
898
  this.updateEditorBorderColor();
899
+ if (skillsContext.unknown.length > 0) {
900
+ this.addSystemMessage(`warning: unknown skills enabled: ${skillsContext.unknown.join(", ")}`, palette.noticeWarn);
901
+ }
836
902
  this.addSystemMessage(`switched to ${persona.label} (${persona.model.id})`, palette.noticeSuccess);
837
903
  }
838
904
  insertPrompt(id) {
@@ -859,12 +925,13 @@ Write plain prose, no formatting. Be thorough enough that the reader can resume
859
925
  }
860
926
  try {
861
927
  const result = await loadAllContent();
862
- const { personas, prompts, errors } = result;
928
+ const { personas, prompts, skills, errors } = result;
863
929
  const bashResult = loadBashCommands(process.cwd());
864
930
  this.bashCommands = bashResult.commands;
865
931
  // Update the personas and prompts lists
866
932
  this.personas = personas;
867
933
  this.prompts = prompts;
934
+ this.skills = skills;
868
935
  // Try to preserve the current persona; fall back to first if not found
869
936
  const currentPersonaId = this.currentPersona.id.toLowerCase();
870
937
  const updatedPersona = personas.find((p) => p.id.toLowerCase() === currentPersonaId);
@@ -879,25 +946,31 @@ Write plain prose, no formatting. Be thorough enough that the reader can resume
879
946
  this.addSystemMessage(`previous persona no longer available; switched to ${this.currentPersona.label || this.currentPersona.id}.`, palette.noticeWarn);
880
947
  }
881
948
  // Rebuild system prompt and update the engine
949
+ const skillsContext = this.getSkillsIndexBlockForPersona(this.currentPersona);
882
950
  this.baseSystemPrompt = buildBaseSystemPrompt({
883
951
  personaSystemPrompt: this.currentPersona.systemPrompt,
952
+ skillsBlock: skillsContext.skillsBlock,
884
953
  projectContextBlock: this.projectContextBlock,
885
954
  environmentTag: this.environmentTag,
886
955
  previousSessionSummary: this.previousSessionSummary,
887
956
  userPreferences: this.config.userPreferences,
888
957
  });
889
958
  this.engine.setPersona(this.currentPersona, this.baseSystemPrompt);
959
+ if (skillsContext.unknown.length > 0) {
960
+ this.addSystemMessage(`warning: unknown skills enabled: ${skillsContext.unknown.join(", ")}`, palette.noticeWarn);
961
+ }
890
962
  // Update UI
891
963
  this.updateFooter();
892
964
  this.updateEditorBorderColor();
893
965
  // Display summary
894
966
  const personaCount = personas.length;
895
967
  const promptCount = prompts.length;
968
+ const skillCount = skills.length;
896
969
  const bashCount = bashResult.commands.length;
897
970
  const errorCount = errors.length + bashResult.errors.length;
898
971
  const summary = errorCount > 0
899
- ? `reloaded: ${personaCount} personas, ${promptCount} prompts, ${bashCount} bash commands (${errorCount} errors).`
900
- : `reloaded: ${personaCount} personas, ${promptCount} prompts, ${bashCount} bash commands.`;
972
+ ? `reloaded: ${personaCount} personas, ${promptCount} prompts, ${skillCount} skills, ${bashCount} bash commands (${errorCount} errors).`
973
+ : `reloaded: ${personaCount} personas, ${promptCount} prompts, ${skillCount} skills, ${bashCount} bash commands.`;
901
974
  this.addSystemMessage(summary, palette.noticeSuccess);
902
975
  this.ui.requestRender();
903
976
  }
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}