Skip to content

Commit e96826c

Browse files
cailmdaleyclaude
andcommitted
polish: hook and setup claude/codex messaging
- hook core rules: collapse to 4, lead with "use felt for everything" - hook CLI: promote -d to its own line, pull upstream/downstream out of Also - setup claude/codex: softer framing for CLAUDE.md/AGENTS.md snippet - snippet: drop poetic opener, tighten to lead with DAG value prop Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 05af731 commit e96826c

File tree

2 files changed

+17
-17
lines changed

2 files changed

+17
-17
lines changed

cmd/hook.go

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,10 @@ func minimalOutput() string {
6464
*No felt repository in current directory.*
6565
6666
` + cliReference() + `## Core Rules
67-
- Track **work** that spans sessions, has dependencies, or emerges during work
68-
- Track **decisions** — what was decided, why, and how decisions depend on each other
69-
- Outcome (` + "`-o`" + `) is the documentation: capture the conclusion, the reasoning, what was learned
70-
- **Leave a wake** — file as you go; the DAG forms after your path
71-
- **Titles are DAG node labels: 2-3 words.** The body and outcome carry full content.
67+
- **Use felt for everything** — tasks, decisions, questions, detours, bugs you can't chase now. If it might matter, it's a fiber.
68+
- Outcome (` + "`-o`" + `) is the documentation: the conclusion, the reasoning, what was learned
69+
- **Leave a wake** — file as you go
70+
- **Titles are DAG node labels: 2-3 words.** Body and outcome carry full content.
7271
`
7372
}
7473

@@ -148,11 +147,10 @@ func formatSessionOutput(felts []*felt.Felt, g *felt.Graph) string {
148147

149148
// Core rules
150149
sb.WriteString("## Core Rules\n")
151-
sb.WriteString("- Track **work** that spans sessions, has dependencies, or emerges during work\n")
152-
sb.WriteString("- Track **decisions** — what was decided, why, and how decisions depend on each other\n")
153-
sb.WriteString("- Outcome (`-o`) is the documentation: capture the conclusion, the reasoning, what was learned\n")
154-
sb.WriteString("- **Leave a wake** — file as you go; the DAG forms after your path\n")
155-
sb.WriteString("- **Titles are DAG node labels: 2-3 words.** The body and outcome carry full content.\n")
150+
sb.WriteString("- **Use felt for everything** — tasks, decisions, questions, detours, bugs you can't chase now. If it might matter, it's a fiber.\n")
151+
sb.WriteString("- Outcome (`-o`) is the documentation: the conclusion, the reasoning, what was learned\n")
152+
sb.WriteString("- **Leave a wake** — file as you go\n")
153+
sb.WriteString("- **Titles are DAG node labels: 2-3 words.** Body and outcome carry full content.\n")
156154

157155
return sb.String()
158156
}
@@ -216,11 +214,13 @@ felt add "title" -s open -t tag -a <dep-id> -o "outcome"
216214
felt edit <id> -s active # enter tracking / mark active
217215
felt edit <id> -s closed -o "outcome" # close with outcome
218216
felt comment <id> "note" # add comment
219-
felt show <id> # full details (-d: title, compact, summary)
217+
felt show <id> # full details
220218
felt ls # tracked fibers (open/active)
221219
felt ls -t tapestry: # any filter widens to all statuses
222220
felt ls -s closed "query" # explicit -s overrides; -e exact, -r regex
223-
Also: link, unlink, tag, untag, upstream, downstream, tree, ready, rm
221+
felt upstream/downstream <id> # DAG traversal
222+
-d title|compact|summary|full # depth for show, ls, upstream, downstream
223+
Also: link, unlink, tag, untag, tree, ready, rm
224224
` + "```" + `
225225
Statuses: · untracked, ○ open, ◐ active, ● closed
226226
To patch body text (not replace), edit .felt/<id>.md directly.

cmd/setup.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Use --uninstall to remove the hooks.`,
3434
return err
3535
}
3636
fmt.Println()
37-
fmt.Println("Add this to your CLAUDE.md:")
37+
fmt.Println("You may want to put something like the following in your CLAUDE.md, adjusted to match your work style:")
3838
fmt.Println()
3939
fmt.Println(claudeMDSnippet())
4040
return nil
@@ -59,7 +59,7 @@ Use --uninstall to remove it.`,
5959
return err
6060
}
6161
fmt.Println()
62-
fmt.Println("Add this to your AGENTS.md:")
62+
fmt.Println("You may want to put something like the following in your AGENTS.md, adjusted to match your work style:")
6363
fmt.Println()
6464
fmt.Println(claudeMDSnippet())
6565
return nil
@@ -78,9 +78,9 @@ func init() {
7878
func claudeMDSnippet() string {
7979
fence := "```"
8080
return "## felt\n\n" +
81-
"felt is the textile of work. Fibers are concerns — tasks, decisions, questions, specs — strung together in a DAG.\n\n" +
82-
"**Fibers are documentation.** Don't write notes or plans; use fibers. Body is the content; outcome is the conclusion. " +
83-
"The DAG explains itself: `felt upstream` shows what a decision rests on, `felt downstream` shows what breaks if it changes. " +
81+
"Fibers are concerns — tasks, decisions, questions — strung in a DAG. " +
82+
"Body is the content; outcome is the conclusion. " +
83+
"`felt upstream` shows what a decision rests on; `felt downstream` shows what breaks if it changes. " +
8484
"A missing causal link costs an investigation; a fiber costs nothing.\n\n" +
8585
"**Rhythm.** File before you start, comment as you go, close with an outcome.\n" +
8686
fence + "bash\n" +

0 commit comments

Comments
 (0)