wtf-p 0.1.0 → 0.3.0
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/README.md +215 -230
- package/bin/commands/doctor.js +100 -0
- package/bin/commands/install-logic.js +235 -0
- package/bin/commands/list.js +88 -0
- package/bin/commands/status.js +85 -0
- package/bin/commands/update.js +50 -0
- package/bin/install.js +157 -309
- package/bin/lib/manifest.js +41 -0
- package/bin/lib/utils.js +338 -0
- package/bin/lib/wcn-compiler.js +226 -0
- package/bin/uninstall.js +202 -206
- package/core/write-the-f-paper/references/github-contrib.md +216 -0
- package/core/write-the-f-paper/templates/posters/basic.md +34 -0
- package/core/write-the-f-paper/templates/slides/basic.md +31 -0
- package/package.json +14 -4
- package/vendors/claude/.claude-plugin/plugin.json +12 -0
- package/vendors/claude/commands/wtfp/contribute.md +278 -0
- package/vendors/claude/commands/wtfp/create-poster.md +42 -0
- package/vendors/claude/commands/wtfp/create-slides.md +41 -0
- package/{commands → vendors/claude/commands}/wtfp/help.md +28 -0
- package/vendors/claude/commands/wtfp/report-bug.md +131 -0
- package/vendors/claude/commands/wtfp/request-feature.md +160 -0
- package/vendors/claude/skills/wtfp/echarts/SKILL.md +47 -0
- package/vendors/claude/skills/wtfp/marp/SKILL.md +49 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/references/checkpoints.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/references/continuation-format.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/references/git-integration.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/references/imrad-structure.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/references/length-estimation.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/references/plan-format.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/references/principles.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/references/questioning.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/references/research-pitfalls.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/config.json +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/context.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/continue-here.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/data-inventory.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/discovery.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/issues.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/manuscript.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/narrative-arc.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/outline.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/phase-prompt.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/prior-drafts.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/project-context/argument-structure.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/project-context/bibliography.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/project-context/gaps.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/project-context/imrad.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/project-context/peer-review.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/project-context/style-guide.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/project-context/tools.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/project.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/research.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/review-comments.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/revision-issues.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/roadmap.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/section-archive.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/section-context.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/section.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/state.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/templates/summary.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/venues/acm-cs.yaml +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/venues/arxiv-ml.yaml +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/venues/ieee-cs.yaml +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/venues/nature.yaml +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/venues/thesis-chapter.yaml +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/create-outline.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/create-outline.wcn.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/discuss-section.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/discuss-section.wcn.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/execute-section.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/execute-section.wcn.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/list-assumptions.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/list-assumptions.wcn.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/lit-review-phase.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/lit-review-phase.wcn.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/map-project.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/map-project.wcn.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/plan-section.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/plan-section.wcn.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/research-gap.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/research-gap.wcn.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/resume-paper.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/resume-paper.wcn.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/review-section.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/review-section.wcn.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/submit-draft.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/submit-draft.wcn.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/transition.md +0 -0
- /package/{write-the-f-paper → core/write-the-f-paper}/workflows/transition.wcn.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/analyze-bib.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/check-refs.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/create-outline.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/discuss-section.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/export-latex.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/insert-section.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/list-assumptions.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/map-project.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/new-paper.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/pause-writing.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/plan-revision.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/plan-section.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/polish-prose.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/progress.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/remove-section.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/research-gap.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/resume-writing.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/review-section.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/submit-milestone.md +0 -0
- /package/{commands → vendors/claude/commands}/wtfp/write-section.md +0 -0
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
# WTF-P GitHub Contribution Reference
|
|
2
|
+
|
|
3
|
+
This document teaches Claude how to help users contribute to the WTF-P project via GitHub.
|
|
4
|
+
|
|
5
|
+
## Repository Information
|
|
6
|
+
|
|
7
|
+
- **Owner**: akougkas
|
|
8
|
+
- **Repo**: wtf-p
|
|
9
|
+
- **URL**: https://github.com/akougkas/wtf-p
|
|
10
|
+
- **Issues**: https://github.com/akougkas/wtf-p/issues
|
|
11
|
+
- **PRs**: https://github.com/akougkas/wtf-p/pulls
|
|
12
|
+
|
|
13
|
+
## Prerequisites Check
|
|
14
|
+
|
|
15
|
+
Before any GitHub operation, verify `gh` CLI is authenticated:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
gh auth status
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
If not authenticated, instruct user to run:
|
|
22
|
+
```bash
|
|
23
|
+
gh auth login
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Issue Templates
|
|
27
|
+
|
|
28
|
+
### Bug Report Format
|
|
29
|
+
|
|
30
|
+
```markdown
|
|
31
|
+
## Bug Description
|
|
32
|
+
[Clear description of what's wrong]
|
|
33
|
+
|
|
34
|
+
## Steps to Reproduce
|
|
35
|
+
1. [First step]
|
|
36
|
+
2. [Second step]
|
|
37
|
+
3. [Expected vs actual behavior]
|
|
38
|
+
|
|
39
|
+
## Environment
|
|
40
|
+
- WTF-P version: [run `npx wtf-p --version`]
|
|
41
|
+
- Node.js version: [run `node --version`]
|
|
42
|
+
- OS: [macOS/Linux/Windows]
|
|
43
|
+
- Claude Code version: [if relevant]
|
|
44
|
+
|
|
45
|
+
## Additional Context
|
|
46
|
+
[Screenshots, logs, related issues]
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Feature Request Format
|
|
50
|
+
|
|
51
|
+
```markdown
|
|
52
|
+
## Feature Description
|
|
53
|
+
[What feature do you want?]
|
|
54
|
+
|
|
55
|
+
## Use Case
|
|
56
|
+
[Why do you need this? What problem does it solve?]
|
|
57
|
+
|
|
58
|
+
## Proposed Solution
|
|
59
|
+
[How should it work? Include examples if possible]
|
|
60
|
+
|
|
61
|
+
## Alternatives Considered
|
|
62
|
+
[Other approaches you've thought about]
|
|
63
|
+
|
|
64
|
+
## Additional Context
|
|
65
|
+
[Mockups, related features, prior art]
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Creating Issues via `gh`
|
|
69
|
+
|
|
70
|
+
### Bug Report
|
|
71
|
+
```bash
|
|
72
|
+
gh issue create \
|
|
73
|
+
--repo akougkas/wtf-p \
|
|
74
|
+
--title "bug: [SHORT_DESCRIPTION]" \
|
|
75
|
+
--body "$(cat <<'EOF'
|
|
76
|
+
## Bug Description
|
|
77
|
+
...
|
|
78
|
+
|
|
79
|
+
## Steps to Reproduce
|
|
80
|
+
...
|
|
81
|
+
|
|
82
|
+
## Environment
|
|
83
|
+
...
|
|
84
|
+
EOF
|
|
85
|
+
)" \
|
|
86
|
+
--label "bug"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Feature Request
|
|
90
|
+
```bash
|
|
91
|
+
gh issue create \
|
|
92
|
+
--repo akougkas/wtf-p \
|
|
93
|
+
--title "feat: [SHORT_DESCRIPTION]" \
|
|
94
|
+
--body "$(cat <<'EOF'
|
|
95
|
+
## Feature Description
|
|
96
|
+
...
|
|
97
|
+
|
|
98
|
+
## Use Case
|
|
99
|
+
...
|
|
100
|
+
EOF
|
|
101
|
+
)" \
|
|
102
|
+
--label "enhancement"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Pull Request Workflow
|
|
106
|
+
|
|
107
|
+
### 1. Fork (if external contributor)
|
|
108
|
+
```bash
|
|
109
|
+
gh repo fork akougkas/wtf-p --clone
|
|
110
|
+
cd wtf-p
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 2. Create Branch
|
|
114
|
+
```bash
|
|
115
|
+
git checkout -b feat/short-description
|
|
116
|
+
# or
|
|
117
|
+
git checkout -b fix/short-description
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 3. Make Changes
|
|
121
|
+
Follow patterns in CONTRIBUTING.md:
|
|
122
|
+
- Commands go in `commands/wtfp/`
|
|
123
|
+
- Workflows go in `write-the-f-paper/workflows/`
|
|
124
|
+
- Use conventional commit messages
|
|
125
|
+
|
|
126
|
+
### 4. Test
|
|
127
|
+
```bash
|
|
128
|
+
npm test
|
|
129
|
+
node bin/install.js --local
|
|
130
|
+
# Test manually in Claude Code
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
### 5. Commit
|
|
134
|
+
```bash
|
|
135
|
+
git add .
|
|
136
|
+
git commit -m "feat(commands): add new-feature command
|
|
137
|
+
|
|
138
|
+
- Added X functionality
|
|
139
|
+
- Updated Y for Z reason"
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
### 6. Push and Create PR
|
|
143
|
+
```bash
|
|
144
|
+
git push -u origin feat/short-description
|
|
145
|
+
|
|
146
|
+
gh pr create \
|
|
147
|
+
--repo akougkas/wtf-p \
|
|
148
|
+
--title "feat(scope): description" \
|
|
149
|
+
--body "$(cat <<'EOF'
|
|
150
|
+
## Summary
|
|
151
|
+
Brief description of changes
|
|
152
|
+
|
|
153
|
+
## Changes Made
|
|
154
|
+
- [ ] Item 1
|
|
155
|
+
- [ ] Item 2
|
|
156
|
+
|
|
157
|
+
## Testing
|
|
158
|
+
How to test these changes
|
|
159
|
+
|
|
160
|
+
## Related Issues
|
|
161
|
+
Closes #XX (if applicable)
|
|
162
|
+
EOF
|
|
163
|
+
)"
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
## Commit Message Convention
|
|
167
|
+
|
|
168
|
+
Format: `<type>(<scope>): <description>`
|
|
169
|
+
|
|
170
|
+
### Types
|
|
171
|
+
| Type | Use For |
|
|
172
|
+
|------|---------|
|
|
173
|
+
| `feat` | New feature |
|
|
174
|
+
| `fix` | Bug fix |
|
|
175
|
+
| `docs` | Documentation |
|
|
176
|
+
| `refactor` | Code restructuring |
|
|
177
|
+
| `test` | Adding tests |
|
|
178
|
+
| `chore` | Maintenance |
|
|
179
|
+
|
|
180
|
+
### Scopes
|
|
181
|
+
| Scope | Use For |
|
|
182
|
+
|-------|---------|
|
|
183
|
+
| `commands` | Slash commands |
|
|
184
|
+
| `workflows` | Writing workflows |
|
|
185
|
+
| `cli` | Installer scripts |
|
|
186
|
+
| `templates` | LaTeX/venue templates |
|
|
187
|
+
|
|
188
|
+
## Labels Reference
|
|
189
|
+
|
|
190
|
+
| Label | Description |
|
|
191
|
+
|-------|-------------|
|
|
192
|
+
| `bug` | Something isn't working |
|
|
193
|
+
| `enhancement` | New feature request |
|
|
194
|
+
| `documentation` | Documentation improvements |
|
|
195
|
+
| `good first issue` | Good for newcomers |
|
|
196
|
+
| `help wanted` | Extra attention needed |
|
|
197
|
+
|
|
198
|
+
## Common Scenarios
|
|
199
|
+
|
|
200
|
+
### User found a bug while writing
|
|
201
|
+
1. Gather: What command? What happened? What was expected?
|
|
202
|
+
2. Check: Can we reproduce? What's the environment?
|
|
203
|
+
3. Create: Issue with reproduction steps
|
|
204
|
+
4. Link: Reference any error messages or logs
|
|
205
|
+
|
|
206
|
+
### User wants a new command
|
|
207
|
+
1. Clarify: What should it do? What's the use case?
|
|
208
|
+
2. Check: Does something similar exist?
|
|
209
|
+
3. Propose: Draft the command structure
|
|
210
|
+
4. Create: Feature request issue or implement directly
|
|
211
|
+
|
|
212
|
+
### User wants to fix something themselves
|
|
213
|
+
1. Guide: Fork and clone workflow
|
|
214
|
+
2. Help: Implement the fix
|
|
215
|
+
3. Test: Verify it works
|
|
216
|
+
4. Submit: Create PR with proper format
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
marp: true
|
|
3
|
+
theme: uncover
|
|
4
|
+
size: 4:3
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# [Poster Title]
|
|
8
|
+
|
|
9
|
+
## Authors
|
|
10
|
+
Author 1, Author 2
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Introduction
|
|
15
|
+
- Problem statement
|
|
16
|
+
- Importance
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Methodology
|
|
21
|
+
- Approach
|
|
22
|
+
- Implementation details
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Results
|
|
27
|
+
- Key findings
|
|
28
|
+
- Charts (use ECharts!)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Conclusion
|
|
33
|
+
- Summary
|
|
34
|
+
- Future work
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
marp: true
|
|
3
|
+
theme: gaia
|
|
4
|
+
_class: lead
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# [Presentation Title]
|
|
8
|
+
## [Subtitle]
|
|
9
|
+
|
|
10
|
+
Author Name
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Agenda
|
|
15
|
+
1. Introduction
|
|
16
|
+
2. Problem Statement
|
|
17
|
+
3. Methodology
|
|
18
|
+
4. Results
|
|
19
|
+
5. Conclusion
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Introduction
|
|
24
|
+
- Context
|
|
25
|
+
- High-level overview
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
# Conclusion
|
|
30
|
+
- Final thoughts
|
|
31
|
+
- Q&A
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wtf-p",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "The G.O.A.T. meta-prompting system for 10x researchers who need to submit papers and projects and proposals YESTERDAY.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"wtfp": "bin/install.js",
|
|
@@ -8,15 +8,25 @@
|
|
|
8
8
|
"wtf-p-uninstall": "bin/uninstall.js"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
|
-
"test": "node test/sanity.js",
|
|
11
|
+
"test": "node test/sanity.js && node test/paths.js && node test/linter.js",
|
|
12
|
+
"test:integration": "node test/integration.js",
|
|
13
|
+
"test:all": "npm test && npm run test:integration",
|
|
12
14
|
"preflight": "node scripts/preflight.js",
|
|
13
15
|
"release": "node scripts/release.js"
|
|
14
16
|
},
|
|
15
17
|
"files": [
|
|
16
18
|
"bin",
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
+
"core",
|
|
20
|
+
"vendors"
|
|
19
21
|
],
|
|
22
|
+
"peerDependencies": {
|
|
23
|
+
"@marp-team/marp-cli": ">=3.0.0"
|
|
24
|
+
},
|
|
25
|
+
"peerDependenciesMeta": {
|
|
26
|
+
"@marp-team/marp-cli": {
|
|
27
|
+
"optional": true
|
|
28
|
+
}
|
|
29
|
+
},
|
|
20
30
|
"keywords": [
|
|
21
31
|
"claude",
|
|
22
32
|
"claude-code",
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "wtf-p",
|
|
3
|
+
"description": "Academic writing toolkit - Paper, Proposal, Presentation, Poster",
|
|
4
|
+
"version": "0.3.0",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "akougkas",
|
|
7
|
+
"url": "https://github.com/akougkas"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/akougkas/wtf-p",
|
|
10
|
+
"repository": "https://github.com/akougkas/wtf-p",
|
|
11
|
+
"license": "MIT"
|
|
12
|
+
}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wtfp:contribute
|
|
3
|
+
description: Guide through contributing code to WTF-P via Pull Request
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Bash
|
|
6
|
+
- Read
|
|
7
|
+
- Write
|
|
8
|
+
- Edit
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- AskUserQuestion
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
<objective>
|
|
15
|
+
Guide the user through the complete process of contributing code to WTF-P, from fork to Pull Request.
|
|
16
|
+
</objective>
|
|
17
|
+
|
|
18
|
+
<context>
|
|
19
|
+
@~/.claude/write-the-f-paper/references/github-contrib.md
|
|
20
|
+
@~/.claude/CONTRIBUTING.md
|
|
21
|
+
</context>
|
|
22
|
+
|
|
23
|
+
<process>
|
|
24
|
+
|
|
25
|
+
## Step 1: Verify Prerequisites
|
|
26
|
+
|
|
27
|
+
Check tools are available:
|
|
28
|
+
```bash
|
|
29
|
+
gh auth status 2>&1
|
|
30
|
+
git --version
|
|
31
|
+
node --version
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
If `gh` not authenticated:
|
|
35
|
+
> Run `gh auth login` to authenticate with GitHub.
|
|
36
|
+
|
|
37
|
+
## Step 2: Understand Contribution Type
|
|
38
|
+
|
|
39
|
+
Use AskUserQuestion:
|
|
40
|
+
|
|
41
|
+
**Question 1: What are you contributing?**
|
|
42
|
+
- Header: "Type"
|
|
43
|
+
- Options:
|
|
44
|
+
- "New command" - Add a /wtfp:* slash command
|
|
45
|
+
- "Bug fix" - Fix an existing issue
|
|
46
|
+
- "Workflow improvement" - Enhance a writing workflow
|
|
47
|
+
- "Documentation" - Improve docs or add examples
|
|
48
|
+
- "Other" - Something else
|
|
49
|
+
|
|
50
|
+
**Question 2: Do you have an existing issue?**
|
|
51
|
+
- Header: "Issue"
|
|
52
|
+
- Options:
|
|
53
|
+
- "Yes, issue #___" - Link to existing issue
|
|
54
|
+
- "No, creating fresh" - New contribution without issue
|
|
55
|
+
- "I'll create one first" - Redirect to /wtfp:request-feature
|
|
56
|
+
|
|
57
|
+
## Step 3: Setup Repository
|
|
58
|
+
|
|
59
|
+
Check current state:
|
|
60
|
+
```bash
|
|
61
|
+
git remote -v
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**If in wtf-p repo (maintainer):**
|
|
65
|
+
```bash
|
|
66
|
+
git checkout main
|
|
67
|
+
git pull origin main
|
|
68
|
+
git checkout -b [BRANCH_TYPE]/[SHORT_NAME]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
**If not in wtf-p repo (external contributor):**
|
|
72
|
+
```bash
|
|
73
|
+
# Fork and clone
|
|
74
|
+
gh repo fork akougkas/wtf-p --clone
|
|
75
|
+
cd wtf-p
|
|
76
|
+
|
|
77
|
+
# Create branch
|
|
78
|
+
git checkout -b [BRANCH_TYPE]/[SHORT_NAME]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Branch naming:
|
|
82
|
+
- `feat/add-citation-check` for features
|
|
83
|
+
- `fix/install-path-spaces` for bugs
|
|
84
|
+
- `docs/improve-readme` for documentation
|
|
85
|
+
|
|
86
|
+
## Step 4: Guide Implementation
|
|
87
|
+
|
|
88
|
+
Based on contribution type:
|
|
89
|
+
|
|
90
|
+
### For New Command
|
|
91
|
+
|
|
92
|
+
1. Show command template:
|
|
93
|
+
```markdown
|
|
94
|
+
---
|
|
95
|
+
name: wtfp:command-name
|
|
96
|
+
description: Brief description
|
|
97
|
+
allowed-tools:
|
|
98
|
+
- Read
|
|
99
|
+
- Write
|
|
100
|
+
- AskUserQuestion
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
<objective>
|
|
104
|
+
What this command accomplishes.
|
|
105
|
+
</objective>
|
|
106
|
+
|
|
107
|
+
<context>
|
|
108
|
+
@~/.claude/write-the-f-paper/references/[relevant].md
|
|
109
|
+
</context>
|
|
110
|
+
|
|
111
|
+
<process>
|
|
112
|
+
## Step 1: ...
|
|
113
|
+
## Step 2: ...
|
|
114
|
+
</process>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
2. Create file in `commands/wtfp/[name].md`
|
|
118
|
+
|
|
119
|
+
3. Follow naming conventions:
|
|
120
|
+
- `new-*` for creation
|
|
121
|
+
- `create-*` for generation
|
|
122
|
+
- `plan-*` for planning
|
|
123
|
+
- `write-*` for execution
|
|
124
|
+
- `review-*` for review
|
|
125
|
+
- `check-*` for validation
|
|
126
|
+
- `export-*` for output
|
|
127
|
+
|
|
128
|
+
### For Bug Fix
|
|
129
|
+
|
|
130
|
+
1. Identify the file(s) to modify
|
|
131
|
+
2. Make minimal, focused changes
|
|
132
|
+
3. Add test coverage if applicable
|
|
133
|
+
|
|
134
|
+
### For Workflow Improvement
|
|
135
|
+
|
|
136
|
+
1. Edit file in `write-the-f-paper/workflows/`
|
|
137
|
+
2. If WCN version exists, update both `.md` and `.wcn.md`
|
|
138
|
+
|
|
139
|
+
## Step 5: Test Changes
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Run existing tests
|
|
143
|
+
npm test
|
|
144
|
+
|
|
145
|
+
# Install locally for manual testing
|
|
146
|
+
node bin/install.js --local --force
|
|
147
|
+
|
|
148
|
+
# Test in Claude Code
|
|
149
|
+
# /wtfp:your-new-command
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Ask user to verify:
|
|
153
|
+
- Does the feature work as expected?
|
|
154
|
+
- Any edge cases to handle?
|
|
155
|
+
- Error messages clear?
|
|
156
|
+
|
|
157
|
+
## Step 6: Commit Changes
|
|
158
|
+
|
|
159
|
+
Stage files:
|
|
160
|
+
```bash
|
|
161
|
+
git add [FILES]
|
|
162
|
+
git status
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
Commit with conventional message:
|
|
166
|
+
```bash
|
|
167
|
+
git commit -m "[TYPE]([SCOPE]): [DESCRIPTION]
|
|
168
|
+
|
|
169
|
+
[Optional body explaining why]
|
|
170
|
+
|
|
171
|
+
[Closes #XX if applicable]"
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
Examples:
|
|
175
|
+
- `feat(commands): add citation-check command`
|
|
176
|
+
- `fix(cli): handle paths with spaces`
|
|
177
|
+
- `docs(readme): clarify installation steps`
|
|
178
|
+
|
|
179
|
+
## Step 7: Push and Create PR
|
|
180
|
+
|
|
181
|
+
Push branch:
|
|
182
|
+
```bash
|
|
183
|
+
git push -u origin [BRANCH_NAME]
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Create PR:
|
|
187
|
+
```bash
|
|
188
|
+
gh pr create \
|
|
189
|
+
--repo akougkas/wtf-p \
|
|
190
|
+
--title "[TYPE]([SCOPE]): [DESCRIPTION]" \
|
|
191
|
+
--body "$(cat <<'EOF'
|
|
192
|
+
## Summary
|
|
193
|
+
[What this PR does]
|
|
194
|
+
|
|
195
|
+
## Changes
|
|
196
|
+
- [Change 1]
|
|
197
|
+
- [Change 2]
|
|
198
|
+
|
|
199
|
+
## Testing
|
|
200
|
+
- [ ] `npm test` passes
|
|
201
|
+
- [ ] Manually tested in Claude Code
|
|
202
|
+
- [ ] [Specific test scenario]
|
|
203
|
+
|
|
204
|
+
## Related Issues
|
|
205
|
+
[Closes #XX or References #XX]
|
|
206
|
+
EOF
|
|
207
|
+
)"
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
## Step 8: Post-PR Guidance
|
|
211
|
+
|
|
212
|
+
After PR is created:
|
|
213
|
+
|
|
214
|
+
1. **Show PR URL** to user
|
|
215
|
+
2. **Explain review process:**
|
|
216
|
+
- Maintainer will review within a few days
|
|
217
|
+
- May request changes or ask questions
|
|
218
|
+
- Once approved, will be merged to main
|
|
219
|
+
|
|
220
|
+
3. **Next steps:**
|
|
221
|
+
- Watch for review comments
|
|
222
|
+
- Respond to feedback
|
|
223
|
+
- Update PR if changes requested
|
|
224
|
+
|
|
225
|
+
</process>
|
|
226
|
+
|
|
227
|
+
<templates>
|
|
228
|
+
|
|
229
|
+
## PR Title Format
|
|
230
|
+
```
|
|
231
|
+
<type>(<scope>): <description>
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
Types: feat, fix, docs, refactor, test, chore
|
|
235
|
+
Scopes: commands, workflows, cli, templates
|
|
236
|
+
|
|
237
|
+
## PR Body Template
|
|
238
|
+
```markdown
|
|
239
|
+
## Summary
|
|
240
|
+
Brief description of what this PR accomplishes.
|
|
241
|
+
|
|
242
|
+
## Changes
|
|
243
|
+
- Added/Modified/Removed X
|
|
244
|
+
- Updated Y to do Z
|
|
245
|
+
|
|
246
|
+
## Testing
|
|
247
|
+
How to verify this works:
|
|
248
|
+
1. Install locally: `node bin/install.js --local`
|
|
249
|
+
2. Run: `/wtfp:command`
|
|
250
|
+
3. Expected: [outcome]
|
|
251
|
+
|
|
252
|
+
## Screenshots (if UI changes)
|
|
253
|
+
[Paste screenshots here]
|
|
254
|
+
|
|
255
|
+
## Related Issues
|
|
256
|
+
Closes #XX
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
</templates>
|
|
260
|
+
|
|
261
|
+
<error-handling>
|
|
262
|
+
|
|
263
|
+
**Fork already exists:** Use existing fork
|
|
264
|
+
```bash
|
|
265
|
+
gh repo sync [USERNAME]/wtf-p
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
**Branch already exists:**
|
|
269
|
+
```bash
|
|
270
|
+
git checkout [BRANCH]
|
|
271
|
+
git pull origin main
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
**Push rejected:** Need to pull first or force push (with caution)
|
|
275
|
+
|
|
276
|
+
**PR creation fails:** Check if branch was pushed, verify gh auth
|
|
277
|
+
|
|
278
|
+
</error-handling>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wtfp:create-poster
|
|
3
|
+
description: Full workflow for creating an academic poster from project content
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Bash
|
|
8
|
+
- AskUserQuestion
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
Generate an academic poster based on the current project's PROJECT.md and findings.
|
|
13
|
+
Uses the wtfp-marp skill to compile to HTML.
|
|
14
|
+
</objective>
|
|
15
|
+
|
|
16
|
+
<context>
|
|
17
|
+
@~/.claude/write-the-f-paper/references/principles.md
|
|
18
|
+
@~/.claude/write-the-f-paper/templates/posters/basic.md
|
|
19
|
+
</context>
|
|
20
|
+
|
|
21
|
+
<process>
|
|
22
|
+
## Step 1: Content Synthesis
|
|
23
|
+
- Read `.planning/PROJECT.md` and any drafted sections.
|
|
24
|
+
- Identify key findings, methodology, and conclusion.
|
|
25
|
+
|
|
26
|
+
## Step 2: User Interview
|
|
27
|
+
AskUserQuestion to determine:
|
|
28
|
+
- Poster title (default to project title)
|
|
29
|
+
- Authors
|
|
30
|
+
- Key visuals/charts needed
|
|
31
|
+
- Target audience
|
|
32
|
+
|
|
33
|
+
## Step 3: Markdown Generation
|
|
34
|
+
- Create `poster.md` using Marp format.
|
|
35
|
+
- Integrate synthesized content.
|
|
36
|
+
|
|
37
|
+
## Step 4: Compilation
|
|
38
|
+
- Use `wtfp-marp` skill: `npx @marp-team/marp-cli poster.md -o poster.html`
|
|
39
|
+
|
|
40
|
+
## Step 5: Review
|
|
41
|
+
- Present the generated poster.html path to the user.
|
|
42
|
+
</process>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wtfp:create-slides
|
|
3
|
+
description: Full workflow for creating presentation slides from project content
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Bash
|
|
8
|
+
- AskUserQuestion
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
<objective>
|
|
12
|
+
Generate presentation slides based on the current project's PROJECT.md and findings.
|
|
13
|
+
Uses the wtfp-marp skill to compile to PDF.
|
|
14
|
+
</objective>
|
|
15
|
+
|
|
16
|
+
<context>
|
|
17
|
+
@~/.claude/write-the-f-paper/references/principles.md
|
|
18
|
+
@~/.claude/write-the-f-paper/templates/slides/
|
|
19
|
+
</context>
|
|
20
|
+
|
|
21
|
+
<process>
|
|
22
|
+
## Step 1: Content Synthesis
|
|
23
|
+
- Read `.planning/PROJECT.md` and any drafted sections.
|
|
24
|
+
- Identify the core narrative and supporting claims.
|
|
25
|
+
|
|
26
|
+
## Step 2: User Interview
|
|
27
|
+
AskUserQuestion to determine:
|
|
28
|
+
- Presentation duration/target number of slides
|
|
29
|
+
- Specific focus areas
|
|
30
|
+
- Audience background
|
|
31
|
+
|
|
32
|
+
## Step 3: Markdown Generation
|
|
33
|
+
- Create `slides.md` using Marp format.
|
|
34
|
+
- Separate slides with `---`.
|
|
35
|
+
|
|
36
|
+
## Step 4: Compilation
|
|
37
|
+
- Use `wtfp-marp` skill: `npx @marp-team/marp-cli slides.md -o slides.pdf`
|
|
38
|
+
|
|
39
|
+
## Step 5: Review
|
|
40
|
+
- Present the generated slides.pdf path to the user.
|
|
41
|
+
</process>
|