@plures/praxis 1.2.13 → 1.2.41
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 +44 -0
- package/dist/browser/{chunk-VOMLVI6V.js → chunk-BBP2F7TT.js} +70 -1
- package/dist/browser/{chunk-K377RW4V.js → chunk-FCEH7WMH.js} +1 -1
- package/dist/browser/{engine-YJZV4SLD.js → engine-65QDGCAN.js} +1 -1
- package/dist/browser/index.d.ts +104 -2
- package/dist/browser/index.js +181 -5
- package/dist/browser/integrations/svelte.d.ts +2 -2
- package/dist/browser/integrations/svelte.js +2 -2
- package/dist/browser/{reactive-engine.svelte-9aS0kTa8.d.ts → reactive-engine.svelte-Cqd8Mod2.d.ts} +56 -1
- package/dist/node/{chunk-PRPQO6R5.js → chunk-32YFEEML.js} +1 -1
- package/dist/node/{chunk-VOMLVI6V.js → chunk-BBP2F7TT.js} +70 -1
- package/dist/node/{chunk-5RH7UAQC.js → chunk-PTH6MD6P.js} +1 -0
- package/dist/node/cli/index.cjs +1553 -839
- package/dist/node/cli/index.js +39 -2
- package/dist/node/cloud/index.d.cts +1 -1
- package/dist/node/cloud/index.d.ts +1 -1
- package/dist/node/components/index.d.cts +2 -2
- package/dist/node/components/index.d.ts +2 -2
- package/dist/node/conversations-KQBXTP3N.js +596 -0
- package/dist/node/{engine-2DQBKBJC.js → engine-7CXQV6RC.js} +1 -1
- package/dist/node/index.cjs +408 -3
- package/dist/node/index.d.cts +308 -7
- package/dist/node/index.d.ts +308 -7
- package/dist/node/index.js +336 -6
- package/dist/node/integrations/svelte.cjs +70 -1
- package/dist/node/integrations/svelte.d.cts +3 -3
- package/dist/node/integrations/svelte.d.ts +3 -3
- package/dist/node/integrations/svelte.js +2 -2
- package/dist/node/{protocol-Qek7ebBl.d.ts → protocol-BocKczNv.d.cts} +1 -1
- package/dist/node/{protocol-Qek7ebBl.d.cts → protocol-BocKczNv.d.ts} +1 -1
- package/dist/node/{reactive-engine.svelte-CRNqHlbv.d.ts → reactive-engine.svelte-CGe8SpVE.d.cts} +57 -2
- package/dist/node/{reactive-engine.svelte-BFIZfawz.d.cts → reactive-engine.svelte-D-xTDxT5.d.ts} +57 -2
- package/dist/node/{terminal-adapter-B-UK_Vdz.d.ts → terminal-adapter-CvIvgTo4.d.ts} +1 -1
- package/dist/node/{terminal-adapter-BQSIF5bf.d.cts → terminal-adapter-Db-snPJ3.d.cts} +1 -1
- package/dist/node/{validate-CNHUULQE.js → validate-EN3M4FUR.js} +1 -1
- package/dist/node/{verify-KLJRXVJS.js → verify-7VZRP2WS.js} +2 -2
- package/docs/BOT_UPDATE_POLICY.md +125 -0
- package/docs/DOGFOODING_CHECKLIST.md +254 -0
- package/docs/DOGFOODING_INDEX.md +169 -0
- package/docs/DOGFOODING_QUICK_START.md +140 -0
- package/docs/KNO_ENG_EXTRACTION_PLAN.md +577 -0
- package/docs/PLURES_TOOLS_INVENTORY.md +170 -0
- package/docs/README.md +12 -0
- package/docs/TESTING_BOT_WORKFLOWS.md +154 -0
- package/docs/conversations/INTEGRATION_POINTS.md +719 -0
- package/docs/conversations/README.md +168 -0
- package/docs/core/extending-praxis-core.md +604 -0
- package/docs/core/praxis-core-api.md +385 -0
- package/docs/decision-ledger/contract-index.json +2 -2
- package/docs/decision-ledger/decisions/2026-02-01-monorepo-organization.md +130 -0
- package/docs/examples/DOGFOODING_WORKFLOW_EXAMPLE.md +295 -0
- package/docs/examples/README.md +41 -0
- package/docs/workflows/pr-overlap-guard.md +50 -0
- package/package.json +7 -2
- package/src/__tests__/chronicle.test.ts +512 -0
- package/src/__tests__/conversations.test.ts +312 -0
- package/src/__tests__/edge-cases.test.ts +1 -1
- package/src/__tests__/engine-dx.test.ts +355 -0
- package/src/cli/commands/conversations.ts +252 -0
- package/src/cli/index.ts +73 -0
- package/src/conversations/README.md +230 -0
- package/src/conversations/candidate.schema.json +123 -0
- package/src/conversations/candidates.ts +114 -0
- package/src/conversations/capture.ts +56 -0
- package/src/conversations/classify.ts +110 -0
- package/src/conversations/conversation.schema.json +106 -0
- package/src/conversations/emitters/fs.ts +65 -0
- package/src/conversations/emitters/github.ts +115 -0
- package/src/conversations/gate.ts +102 -0
- package/src/conversations/index.ts +28 -0
- package/src/conversations/normalize.ts +51 -0
- package/src/conversations/redact.ts +57 -0
- package/src/conversations/types.ts +96 -0
- package/src/core/chronicle/chronicle.ts +227 -0
- package/src/core/chronicle/context.ts +80 -0
- package/src/core/chronicle/index.ts +53 -0
- package/src/core/chronicle/mcp.ts +135 -0
- package/src/core/chronicle/types.ts +61 -0
- package/src/core/engine.ts +99 -1
- package/src/core/pluresdb/index.ts +22 -0
- package/src/core/pluresdb/store.ts +162 -5
- package/src/core/rules.ts +12 -0
- package/src/dsl/index.ts +6 -0
- package/src/index.ts +18 -0
- package/src/integrations/pluresdb.ts +22 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# Dogfooding Plures Tools - Complete Guide
|
|
2
|
+
|
|
3
|
+
This is the master index for all dogfooding documentation in the Praxis repository.
|
|
4
|
+
|
|
5
|
+
## 🚀 Getting Started
|
|
6
|
+
|
|
7
|
+
**New to dogfooding?** Start here:
|
|
8
|
+
|
|
9
|
+
1. **[Dogfooding Quick Start](./DOGFOODING_QUICK_START.md)** - Get up and running in 5 minutes
|
|
10
|
+
2. **[Plures Tools Inventory](./PLURES_TOOLS_INVENTORY.md)** - See what tools are available
|
|
11
|
+
3. **[Workflow Example](./examples/DOGFOODING_WORKFLOW_EXAMPLE.md)** - See dogfooding in action
|
|
12
|
+
|
|
13
|
+
## 📚 Core Documentation
|
|
14
|
+
|
|
15
|
+
### Daily Workflow
|
|
16
|
+
- **[Dogfooding Checklist](./DOGFOODING_CHECKLIST.md)** - Daily, weekly, and monthly checklists
|
|
17
|
+
- Before starting work
|
|
18
|
+
- During development
|
|
19
|
+
- Before committing
|
|
20
|
+
- Weekly reviews
|
|
21
|
+
- Monthly assessments
|
|
22
|
+
|
|
23
|
+
### Tool Information
|
|
24
|
+
- **[Plures Tools Inventory](./PLURES_TOOLS_INVENTORY.md)** - Complete list of all Plures tools
|
|
25
|
+
- Current adoption status
|
|
26
|
+
- Usage examples
|
|
27
|
+
- Adoption priorities
|
|
28
|
+
- Integration status summary
|
|
29
|
+
|
|
30
|
+
### Decision Ledger Specific
|
|
31
|
+
- **[Decision Ledger Dogfooding](./decision-ledger/DOGFOODING.md)** - Contract-specific workflow
|
|
32
|
+
- Contract creation and validation
|
|
33
|
+
- Ledger snapshot management
|
|
34
|
+
- CI integration
|
|
35
|
+
|
|
36
|
+
## 🎯 Practical Examples
|
|
37
|
+
|
|
38
|
+
- **[End-to-End Workflow Example](./examples/DOGFOODING_WORKFLOW_EXAMPLE.md)** - Complete example of dogfooding all tools when adding a feature
|
|
39
|
+
|
|
40
|
+
## 🐛 Reporting Friction
|
|
41
|
+
|
|
42
|
+
### Issue Templates
|
|
43
|
+
- **Dogfooding Friction Report** - Use when you encounter friction with any Plures tool
|
|
44
|
+
- Located at: `.github/ISSUE_TEMPLATE/dogfooding.yml`
|
|
45
|
+
- Auto-tagged with `dogfood` label
|
|
46
|
+
- Focus on one friction point per issue
|
|
47
|
+
|
|
48
|
+
### When to File
|
|
49
|
+
File immediately when you encounter:
|
|
50
|
+
- Confusing error messages
|
|
51
|
+
- Missing/unclear documentation
|
|
52
|
+
- Manual steps that should be automated
|
|
53
|
+
- Unexpected behavior
|
|
54
|
+
- Performance issues
|
|
55
|
+
|
|
56
|
+
### How to File
|
|
57
|
+
1. Go to [Issues → New Issue](https://github.com/plures/praxis/issues/new/choose)
|
|
58
|
+
2. Select **Dogfooding Friction Report**
|
|
59
|
+
3. Fill out the template
|
|
60
|
+
4. Submit
|
|
61
|
+
|
|
62
|
+
## 🔧 Available Tools
|
|
63
|
+
|
|
64
|
+
| Tool | Status | Docs | Priority |
|
|
65
|
+
|------|--------|------|----------|
|
|
66
|
+
| Praxis CLI | ✅ Adopted | [README](../README.md#cli-npx-friendly) | Maintain |
|
|
67
|
+
| PluresDB | ✅ Adopted | [README](../README.md#pluresdb-integration) | Expand |
|
|
68
|
+
| Decision Ledger | ✅ Adopted | [Dogfooding](./decision-ledger/DOGFOODING.md) | Maintain |
|
|
69
|
+
| Unum | ⚠️ Partial | [README](../README.md#unified-workflow-example) | Expand |
|
|
70
|
+
| State-Docs | ⚠️ Partial | [README](../README.md#unified-workflow-example) | **High** |
|
|
71
|
+
| CodeCanvas | ⚠️ Available | [README](../README.md#unified-workflow-example) | **High** |
|
|
72
|
+
| OpenClaw | ❌ Not Adopted | - | Research |
|
|
73
|
+
|
|
74
|
+
## 📋 Quick Reference
|
|
75
|
+
|
|
76
|
+
### Essential Commands
|
|
77
|
+
```bash
|
|
78
|
+
# Build and validate
|
|
79
|
+
npm run build
|
|
80
|
+
npm run validate:contracts
|
|
81
|
+
npm run scan:rules
|
|
82
|
+
|
|
83
|
+
# Testing
|
|
84
|
+
npm test
|
|
85
|
+
npm run typecheck
|
|
86
|
+
|
|
87
|
+
# CLI usage
|
|
88
|
+
npx praxis --help
|
|
89
|
+
npx praxis create app my-app
|
|
90
|
+
npx praxis generate --schema src/schemas/app.schema.ts
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Key Directories
|
|
94
|
+
```
|
|
95
|
+
docs/
|
|
96
|
+
├── DOGFOODING_QUICK_START.md # Start here
|
|
97
|
+
├── DOGFOODING_CHECKLIST.md # Daily/weekly/monthly tasks
|
|
98
|
+
├── PLURES_TOOLS_INVENTORY.md # All available tools
|
|
99
|
+
├── decision-ledger/
|
|
100
|
+
│ └── DOGFOODING.md # Decision Ledger workflow
|
|
101
|
+
└── examples/
|
|
102
|
+
├── README.md # Examples index
|
|
103
|
+
└── DOGFOODING_WORKFLOW_EXAMPLE.md # Complete workflow
|
|
104
|
+
|
|
105
|
+
.github/ISSUE_TEMPLATE/
|
|
106
|
+
└── dogfooding.yml # Friction report template
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## 🎓 Learning Path
|
|
110
|
+
|
|
111
|
+
### Week 1: Foundation
|
|
112
|
+
1. Read [Quick Start](./DOGFOODING_QUICK_START.md)
|
|
113
|
+
2. Review [Tools Inventory](./PLURES_TOOLS_INVENTORY.md)
|
|
114
|
+
3. Follow [Daily Checklist](./DOGFOODING_CHECKLIST.md#daily-development-workflow)
|
|
115
|
+
4. File at least one friction report
|
|
116
|
+
|
|
117
|
+
### Week 2: Practice
|
|
118
|
+
1. Try the [Workflow Example](./examples/DOGFOODING_WORKFLOW_EXAMPLE.md)
|
|
119
|
+
2. Use CodeCanvas to visualize a schema
|
|
120
|
+
3. Use State-Docs to generate documentation
|
|
121
|
+
4. Complete [Weekly Review](./DOGFOODING_CHECKLIST.md#weekly-review-friday-or-end-of-sprint)
|
|
122
|
+
|
|
123
|
+
### Week 3: Integration
|
|
124
|
+
1. Integrate Praxis CLI into your workflow
|
|
125
|
+
2. Use PluresDB for test fixtures
|
|
126
|
+
3. Adopt contract-first development
|
|
127
|
+
4. Complete [Monthly Assessment](./DOGFOODING_CHECKLIST.md#monthly-assessment-first-week-of-month)
|
|
128
|
+
|
|
129
|
+
### Week 4+: Mastery
|
|
130
|
+
1. Dogfood all tools by default
|
|
131
|
+
2. File friction reports proactively
|
|
132
|
+
3. Help others adopt dogfooding
|
|
133
|
+
4. Contribute improvements back
|
|
134
|
+
|
|
135
|
+
## 🤝 Contributing
|
|
136
|
+
|
|
137
|
+
Found a gap in the documentation? Have a great dogfooding pattern to share?
|
|
138
|
+
|
|
139
|
+
1. File a friction report if documentation is unclear
|
|
140
|
+
2. Add examples to `docs/examples/`
|
|
141
|
+
3. Update the [Tools Inventory](./PLURES_TOOLS_INVENTORY.md) with new learnings
|
|
142
|
+
4. Share your workflow in team discussions
|
|
143
|
+
|
|
144
|
+
See [CONTRIBUTING.md](../CONTRIBUTING.md) for full guidelines.
|
|
145
|
+
|
|
146
|
+
## 📊 Success Metrics
|
|
147
|
+
|
|
148
|
+
You're successfully dogfooding when:
|
|
149
|
+
- ✅ You use Praxis CLI regularly for validation and generation
|
|
150
|
+
- ✅ You define contracts before implementing rules
|
|
151
|
+
- ✅ You file friction reports when you encounter problems
|
|
152
|
+
- ✅ You complete weekly reviews
|
|
153
|
+
- ✅ You help others adopt dogfooding practices
|
|
154
|
+
|
|
155
|
+
## 🔗 Related Resources
|
|
156
|
+
|
|
157
|
+
- [Main README](../README.md)
|
|
158
|
+
- [Contributing Guidelines](../CONTRIBUTING.md)
|
|
159
|
+
- [Decision Ledger Behavior Ledger](./decision-ledger/BEHAVIOR_LEDGER.md)
|
|
160
|
+
- [GitHub Issue Templates](../.github/ISSUE_TEMPLATE/)
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
**Remember:** Dogfooding is about **using** our tools, **observing** friction, and **reporting** issues. Every friction report makes our tools better! 🚀
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
Last Updated: 2026-02-01
|
|
169
|
+
Maintainer: Praxis Core Team
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Dogfooding Plures Tools - Quick Start
|
|
2
|
+
|
|
3
|
+
This guide helps you start dogfooding Plures tools immediately.
|
|
4
|
+
|
|
5
|
+
## What is Dogfooding?
|
|
6
|
+
|
|
7
|
+
**Dogfooding** = Using our own tools in daily development and filing issues when we find friction.
|
|
8
|
+
|
|
9
|
+
**Goal**: Find and fix problems before users encounter them.
|
|
10
|
+
|
|
11
|
+
## 🚀 Quick Start (5 minutes)
|
|
12
|
+
|
|
13
|
+
### 1. Review Available Tools
|
|
14
|
+
|
|
15
|
+
See what tools you can use: [`docs/PLURES_TOOLS_INVENTORY.md`](./PLURES_TOOLS_INVENTORY.md)
|
|
16
|
+
|
|
17
|
+
**High Priority for Adoption:**
|
|
18
|
+
- ✅ **Praxis CLI** - Already using it
|
|
19
|
+
- ⚠️ **State-Docs** - Should use for documentation
|
|
20
|
+
- ⚠️ **CodeCanvas** - Should use for visualization
|
|
21
|
+
|
|
22
|
+
### 2. Follow the Daily Checklist
|
|
23
|
+
|
|
24
|
+
When developing, follow the quick checklist in [`docs/DOGFOODING_CHECKLIST.md`](./DOGFOODING_CHECKLIST.md):
|
|
25
|
+
|
|
26
|
+
**Before Starting:**
|
|
27
|
+
```bash
|
|
28
|
+
git pull origin main
|
|
29
|
+
npm run build
|
|
30
|
+
npm run validate:contracts
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
**When Adding/Modifying Rules:**
|
|
34
|
+
1. Define contract with `defineContract()`
|
|
35
|
+
2. Attach to rule via `meta.contract`
|
|
36
|
+
3. Write tests for all examples
|
|
37
|
+
4. Run `npm run scan:rules` and `npm run validate:contracts`
|
|
38
|
+
|
|
39
|
+
**When You Find Friction:**
|
|
40
|
+
- File issue immediately using the **Dogfooding Friction Report** template
|
|
41
|
+
- One friction point per issue
|
|
42
|
+
- Tag with `dogfood` label
|
|
43
|
+
|
|
44
|
+
### 3. Try a Tool Today
|
|
45
|
+
|
|
46
|
+
Pick one tool to try this week:
|
|
47
|
+
|
|
48
|
+
**Option A: Visualize a Schema with CodeCanvas**
|
|
49
|
+
```typescript
|
|
50
|
+
import { schemaToCanvas } from '@plures/praxis';
|
|
51
|
+
const canvas = schemaToCanvas(mySchema);
|
|
52
|
+
// Friction? File an issue!
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Option B: Generate Docs with State-Docs**
|
|
56
|
+
```typescript
|
|
57
|
+
import { createStateDocsGenerator } from '@plures/praxis';
|
|
58
|
+
const docsGen = createStateDocsGenerator({
|
|
59
|
+
projectTitle: 'My Module',
|
|
60
|
+
target: './docs'
|
|
61
|
+
});
|
|
62
|
+
// Friction? File an issue!
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Option C: Use Praxis CLI for Generation**
|
|
66
|
+
```bash
|
|
67
|
+
npx praxis generate --schema src/schemas/my-schema.ts
|
|
68
|
+
# Friction? File an issue!
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## 📋 Filing Friction Reports
|
|
72
|
+
|
|
73
|
+
### When to File
|
|
74
|
+
|
|
75
|
+
File **immediately** when you encounter:
|
|
76
|
+
- Confusing error messages
|
|
77
|
+
- Missing documentation
|
|
78
|
+
- Manual steps that should be automated
|
|
79
|
+
- Unexpected behavior
|
|
80
|
+
- Performance issues
|
|
81
|
+
|
|
82
|
+
### How to File
|
|
83
|
+
|
|
84
|
+
1. Go to [Issues → New Issue](https://github.com/plures/praxis/issues/new/choose)
|
|
85
|
+
2. Select **Dogfooding Friction Report**
|
|
86
|
+
3. Fill out the template (focus on ONE friction point)
|
|
87
|
+
4. Submit with `dogfood` label
|
|
88
|
+
|
|
89
|
+
### Example Good Issues
|
|
90
|
+
|
|
91
|
+
✅ "Praxis CLI `validate` command doesn't show file path for missing contracts"
|
|
92
|
+
✅ "State-Docs requires manual config - should auto-detect schema files"
|
|
93
|
+
✅ "CodeCanvas export example missing for nested object schemas"
|
|
94
|
+
|
|
95
|
+
❌ "Validation is confusing" (too vague)
|
|
96
|
+
❌ "Documentation needs work" (too broad)
|
|
97
|
+
|
|
98
|
+
## 🔄 Weekly Review
|
|
99
|
+
|
|
100
|
+
Every Friday (or end of sprint):
|
|
101
|
+
|
|
102
|
+
1. **Check your tool usage**: What tools did you use this week?
|
|
103
|
+
2. **Identify gaps**: What could you have used but didn't?
|
|
104
|
+
3. **Review filed issues**: Are they tagged and actionable?
|
|
105
|
+
|
|
106
|
+
See full checklist: [`docs/DOGFOODING_CHECKLIST.md#weekly-review-friday-or-end-of-sprint`](./DOGFOODING_CHECKLIST.md#weekly-review-friday-or-end-of-sprint)
|
|
107
|
+
|
|
108
|
+
## 📚 Resources
|
|
109
|
+
|
|
110
|
+
| Resource | Purpose |
|
|
111
|
+
|----------|---------|
|
|
112
|
+
| [`PLURES_TOOLS_INVENTORY.md`](./PLURES_TOOLS_INVENTORY.md) | List of all tools and adoption status |
|
|
113
|
+
| [`DOGFOODING_CHECKLIST.md`](./DOGFOODING_CHECKLIST.md) | Daily/weekly/monthly checklists |
|
|
114
|
+
| [`decision-ledger/DOGFOODING.md`](./decision-ledger/DOGFOODING.md) | Decision Ledger specific workflow |
|
|
115
|
+
| [`.github/ISSUE_TEMPLATE/dogfooding.yml`](../.github/ISSUE_TEMPLATE/dogfooding.yml) | Issue template for friction reports |
|
|
116
|
+
| [`CONTRIBUTING.md`](../CONTRIBUTING.md) | Full contributing guidelines |
|
|
117
|
+
|
|
118
|
+
## 🎯 This Week's Focus
|
|
119
|
+
|
|
120
|
+
**High-Priority Tools to Adopt:**
|
|
121
|
+
1. **CodeCanvas** - Visualize at least one complex schema
|
|
122
|
+
2. **State-Docs** - Generate docs for at least one module
|
|
123
|
+
3. **Praxis CLI** - Use for generation instead of manual coding
|
|
124
|
+
|
|
125
|
+
**Success Metric:** File at least 1-2 dogfooding issues this week.
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Need Help?
|
|
130
|
+
|
|
131
|
+
- Check the [Plures Tools Inventory](./PLURES_TOOLS_INVENTORY.md) for tool documentation
|
|
132
|
+
- Review examples in the `examples/` directory
|
|
133
|
+
- Ask in discussions or file a question issue
|
|
134
|
+
|
|
135
|
+
**Remember:** Finding friction is success! Every friction report makes the tools better.
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
Last Updated: 2026-02-01
|
|
140
|
+
Maintainer: Praxis Core Team
|