thought-cabinet 0.0.2
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/LICENSE +15 -0
- package/README.md +145 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2113 -0
- package/dist/index.js.map +1 -0
- package/package.json +58 -0
- package/src/agent-assets/agents/codebase-analyzer.md +147 -0
- package/src/agent-assets/agents/codebase-locator.md +126 -0
- package/src/agent-assets/agents/codebase-pattern-finder.md +241 -0
- package/src/agent-assets/agents/thoughts-analyzer.md +154 -0
- package/src/agent-assets/agents/thoughts-locator.md +122 -0
- package/src/agent-assets/agents/web-search-researcher.md +113 -0
- package/src/agent-assets/commands/commit.md +46 -0
- package/src/agent-assets/commands/create_plan.md +278 -0
- package/src/agent-assets/commands/implement_plan.md +91 -0
- package/src/agent-assets/commands/iterate_plan.md +254 -0
- package/src/agent-assets/commands/research_codebase.md +107 -0
- package/src/agent-assets/commands/validate_plan.md +178 -0
- package/src/agent-assets/settings.template.json +7 -0
- package/src/agent-assets/skills/generating-research-document/SKILL.md +41 -0
- package/src/agent-assets/skills/generating-research-document/document_template.md +97 -0
- package/src/agent-assets/skills/writing-plan/SKILL.md +162 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Apache Software License 2.0
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025, Thought Cabinet Authors
|
|
4
|
+
|
|
5
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
you may not use this file except in compliance with the License.
|
|
7
|
+
You may obtain a copy of the License at
|
|
8
|
+
|
|
9
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
|
|
11
|
+
Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
See the License for the specific language governing permissions and
|
|
15
|
+
limitations under the License.
|
package/README.md
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# Thought Cabinet
|
|
2
|
+
|
|
3
|
+
A CLI tool for managing developer thoughts and notes across multiple repositories.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
Thought Cabinet provides a systematic way to organize and version-control your development notes, decisions, and ideas. It synchronizes thoughts across a dedicated git repository while keeping them separate from your code repositories.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- **Multi-repository support**: Manage thoughts for multiple projects from a single thoughts repository
|
|
12
|
+
- **Profile support**: Use different thoughts repositories for different contexts (e.g., work, personal)
|
|
13
|
+
- **Git integration**: Automatic git hooks prevent accidental commits and auto-sync thoughts
|
|
14
|
+
- **Searchable index**: Hard links enable fast searching across all thoughts
|
|
15
|
+
- **User separation**: Personal and shared thought spaces for team collaboration
|
|
16
|
+
|
|
17
|
+
## Installation
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
npm install -g thought-cabinet
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Quick Start
|
|
24
|
+
|
|
25
|
+
### Initialize thoughts for a repository
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
cd your-project
|
|
29
|
+
thoughtcabinet init
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
This will:
|
|
33
|
+
|
|
34
|
+
1. Set up a global thoughts repository (default: `~/thoughts`)
|
|
35
|
+
2. Create directory structure for this project
|
|
36
|
+
3. Install git hooks for protection and auto-sync
|
|
37
|
+
4. Create symlinks in `thoughts/` directory
|
|
38
|
+
|
|
39
|
+
### Sync thoughts manually
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
thoughtcabinet sync
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Check status
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
thoughtcabinet status
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Directory Structure
|
|
52
|
+
|
|
53
|
+
After initialization, your repository will have:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
your-project/
|
|
57
|
+
└── thoughts/
|
|
58
|
+
├── yourusername/ → Your personal notes for this project
|
|
59
|
+
├── shared/ → Team-shared notes for this project
|
|
60
|
+
├── global/ → Cross-project thoughts
|
|
61
|
+
│ ├── yourusername/ - Your personal cross-repo notes
|
|
62
|
+
│ └── shared/ - Team cross-repo notes
|
|
63
|
+
└── searchable/ → Hard links for searching
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Commands
|
|
67
|
+
|
|
68
|
+
### Basic Commands
|
|
69
|
+
|
|
70
|
+
- `thoughtcabinet init` - Initialize thoughts for current repository
|
|
71
|
+
- `thoughtcabinet sync` - Manually sync thoughts to repository
|
|
72
|
+
- `thoughtcabinet status` - Show status of thoughts repository
|
|
73
|
+
- `thoughtcabinet config` - View or edit configuration
|
|
74
|
+
- `thoughtcabinet destroy` - Remove thoughts setup from current repository
|
|
75
|
+
|
|
76
|
+
### Profile Commands
|
|
77
|
+
|
|
78
|
+
Profiles allow you to use different thoughts repositories for different contexts:
|
|
79
|
+
|
|
80
|
+
- `thoughtcabinet profile create <name>` - Create a new profile
|
|
81
|
+
- `thoughtcabinet profile list` - List all profiles
|
|
82
|
+
- `thoughtcabinet profile show <name>` - Show profile details
|
|
83
|
+
- `thoughtcabinet profile delete <name>` - Delete a profile
|
|
84
|
+
|
|
85
|
+
Use a profile with:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
thoughtcabinet init --profile work
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Configuration
|
|
92
|
+
|
|
93
|
+
Configuration is stored in `~/.config/thought-cabinet/config.json`.
|
|
94
|
+
|
|
95
|
+
View configuration:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
thoughtcabinet config
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Edit configuration:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
thoughtcabinet config --edit
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Git Hooks
|
|
108
|
+
|
|
109
|
+
Thought Cabinet installs two git hooks:
|
|
110
|
+
|
|
111
|
+
1. **pre-commit**: Prevents accidental commits of the `thoughts/` directory
|
|
112
|
+
2. **post-commit**: Auto-syncs thoughts after each code commit
|
|
113
|
+
|
|
114
|
+
## Searching Thoughts
|
|
115
|
+
|
|
116
|
+
The `thoughts/searchable/` directory contains hard links to all accessible thought files. This allows search tools to find content without following symlinks:
|
|
117
|
+
|
|
118
|
+
```bash
|
|
119
|
+
cd your-project
|
|
120
|
+
grep -r "TODO" thoughts/searchable/
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**Important**: Always reference files by their canonical path (e.g., `thoughts/yourusername/todo.md`) rather than the searchable path.
|
|
124
|
+
|
|
125
|
+
## Best Practices
|
|
126
|
+
|
|
127
|
+
1. Use `yourusername/` for personal, repository-specific notes
|
|
128
|
+
2. Use `shared/` for team documentation that should be version-controlled
|
|
129
|
+
3. Use `global/yourusername/` for cross-repository personal notes
|
|
130
|
+
4. Use `global/shared/` for cross-repository team documentation
|
|
131
|
+
5. Run `thoughtcabinet sync` before sharing important updates
|
|
132
|
+
6. Never commit the `thoughts/` directory to your code repository
|
|
133
|
+
|
|
134
|
+
## Migration from hlyr
|
|
135
|
+
|
|
136
|
+
If you're migrating from the hlyr thoughts system:
|
|
137
|
+
|
|
138
|
+
1. The configuration format is compatible
|
|
139
|
+
2. Your existing thoughts repository will work as-is
|
|
140
|
+
3. Run `thoughtcabinet init` in your repositories
|
|
141
|
+
4. Old git hooks will be automatically updated
|
|
142
|
+
|
|
143
|
+
## License
|
|
144
|
+
|
|
145
|
+
Apache-2.0
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
#!/usr/bin/env node
|