- feynman/skills/workflow-bootstrap/SKILL.md - Bootstrap skill - feynman/memory-template.md - Memory template - feynman/README.md - Feynman configs documentation - scripts/setup.sh - Updated to auto-install Feynman configs if detected - docs/workflow/INDEX.md - Updated with Feynman integration info - README.md - Updated with Feynman integration section When running 'pnpm run setup': 1. Checks for Feynman installation 2. Installs workflow-bootstrap skill to ~/.feynman/agent/skills/ 3. Creates .feynman/memory.md from template 4. Gives two-layer nudge: skill (manual) + memory (automatic)
167 lines
4.2 KiB
Markdown
167 lines
4.2 KiB
Markdown
# Workflow Template
|
|
|
|
A portable, file-based issue tracking and development workflow for teams.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Clone this repo into your new project
|
|
git clone https://git.fbrns.co/shoko/workflow.git my-new-project
|
|
cd my-new-project
|
|
|
|
# Remove git history (optional, for a fresh start)
|
|
rm -rf .git
|
|
|
|
# Initialize git
|
|
git init
|
|
|
|
# Setup (installs pnpm, dependencies, pre-commit hook, and Feynman configs)
|
|
pnpm run setup
|
|
|
|
# Remove this README (it's the template's README)
|
|
rm README.md
|
|
```
|
|
|
|
**That's it.** The setup script handles everything—including installing the Feynman skill if Feynman is detected.
|
|
|
|
## What This Is
|
|
|
|
- **Issues are files** in `/.issues/`, not in external trackers
|
|
- **Issues are tracked by git**, alongside the code they affect
|
|
- **Agents think out loud** in issue files, making reasoning visible
|
|
- **Humans approve reasoning**, not code line-by-line
|
|
- **Pre-commit hooks enforce** issue format before any commit
|
|
- **Feynman integration** for automatic workflow bootstrapping
|
|
|
|
## Feynman Integration
|
|
|
|
If Feynman is installed on your system, the setup script will automatically:
|
|
|
|
1. Detect the Feynman installation
|
|
2. Install the `workflow-bootstrap` skill
|
|
3. Create `.feynman/memory.md` with workflow preferences
|
|
|
|
This gives you a two-layer nudge system:
|
|
- **Skill** (manual trigger): Say "feynman, set up the workflow" for new projects
|
|
- **Memory** (automatic nudge): Feynman reminds you if you forget
|
|
|
|
## Requirements
|
|
|
|
- **Node.js** (recommended: https://nodejs.org)
|
|
- If you don't have Node.js, the setup script will install `pnpm` using `corepack` or `npm`
|
|
- **Git**
|
|
- **Feynman** (optional, for automatic workflow bootstrapping)
|
|
|
|
No other dependencies required for the workflow itself.
|
|
|
|
## File Structure
|
|
|
|
```
|
|
/
|
|
├── docs/workflow/ # Workflow documentation
|
|
│ ├── INDEX.md ← Start here
|
|
│ ├── ISSUE-FORMAT.md ← Issue file format
|
|
│ ├── WORKFLOW.md ← Step-by-step process
|
|
│ └── AGENT-PROMPTS.md ← Copy-paste agent prompts
|
|
├── .issues/ # Issue files
|
|
│ ├── INDEX.md # List of all issues
|
|
│ └── example/ # Example issues
|
|
├── .hooks/ # Pre-commit validators
|
|
│ └── issue-linter.js # Issue format validator
|
|
├── scripts/
|
|
│ └── setup.sh # Setup script
|
|
└── package.json # Setup commands
|
|
```
|
|
|
|
## Setup Command
|
|
|
|
```bash
|
|
pnpm run setup
|
|
```
|
|
|
|
This will:
|
|
1. Check for `pnpm`, install it if missing (via corepack or npm)
|
|
2. Install dependencies
|
|
3. Install the pre-commit hook in `.git/hooks/`
|
|
|
|
If Node.js isn't installed, the script will tell you to install it first.
|
|
|
|
## Manual Setup (Without pnpm)
|
|
|
|
If you prefer not to use pnpm:
|
|
|
|
```bash
|
|
# 1. Install Node.js from https://nodejs.org
|
|
|
|
# 2. Install pnpm
|
|
npm install -g pnpm
|
|
|
|
# 3. Install dependencies
|
|
pnpm install
|
|
|
|
# 4. Manually install pre-commit hook
|
|
mkdir -p .git/hooks
|
|
cat > .git/hooks/pre-commit << 'EOF'
|
|
#!/bin/bash
|
|
node .hooks/issue-linter.js
|
|
EOF
|
|
chmod +x .git/hooks/pre-commit
|
|
```
|
|
|
|
## For Teams
|
|
|
|
This template is maintained at: https://git.fbrns.co/shoko/workflow
|
|
|
|
To update the template for all projects:
|
|
1. Pull latest changes from this repo
|
|
2. Merge into your project
|
|
|
|
## Documentation
|
|
|
|
- [Workflow Overview](docs/workflow/INDEX.md)
|
|
- [Issue Format](docs/workflow/ISSUE-FORMAT.md)
|
|
- [Step-by-Step Workflow](docs/workflow/WORKFLOW.md)
|
|
- [Agent Prompts](docs/workflow/AGENT-PROMPTS.md)
|
|
|
|
## Troubleshooting
|
|
|
|
### "pnpm not found" during setup
|
|
|
|
The setup script tries to install pnpm automatically. If it fails:
|
|
|
|
```bash
|
|
# Install Node.js first
|
|
# Then enable pnpm via corepack
|
|
corepack enable
|
|
corepack prepare pnpm@latest --activate
|
|
|
|
# Or install via npm
|
|
npm install -g pnpm
|
|
|
|
# Re-run setup
|
|
pnpm run setup
|
|
```
|
|
|
|
### Pre-commit hook not running
|
|
|
|
```bash
|
|
# Make sure the hook is executable
|
|
chmod +x .git/hooks/pre-commit
|
|
|
|
# Test the hook manually
|
|
node .hooks/issue-linter.js
|
|
```
|
|
|
|
### "git commit rejected" errors
|
|
|
|
The pre-commit hook is rejecting your commit because:
|
|
- Code changed without a corresponding issue file
|
|
- Issue file is missing required fields
|
|
- Issue has `done` status but is incomplete
|
|
|
|
Fix the issue file and try again. Run `node .hooks/issue-linter.js` for details.
|
|
|
|
## License
|
|
|
|
Internal use. See https://git.fbrns.co/shoko/workflow
|