@engramm/dev-workflow 0.1.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/dist/agents/context-builder.d.ts +11 -0
- package/dist/agents/context-builder.d.ts.map +1 -0
- package/dist/agents/context-builder.js +62 -0
- package/dist/agents/context-builder.js.map +1 -0
- package/dist/agents/loader.d.ts +3 -0
- package/dist/agents/loader.d.ts.map +1 -0
- package/dist/agents/loader.js +54 -0
- package/dist/agents/loader.js.map +1 -0
- package/dist/agents/registry.d.ts +10 -0
- package/dist/agents/registry.d.ts.map +1 -0
- package/dist/agents/registry.js +35 -0
- package/dist/agents/registry.js.map +1 -0
- package/dist/agents/types.d.ts +20 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +2 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/cli/agent.d.ts +2 -0
- package/dist/cli/agent.d.ts.map +1 -0
- package/dist/cli/agent.js +101 -0
- package/dist/cli/agent.js.map +1 -0
- package/dist/cli/config.d.ts +2 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +100 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/doctor.d.ts +2 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +123 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +94 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/init.d.ts +7 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +177 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/cli/run.d.ts +4 -0
- package/dist/cli/run.d.ts.map +1 -0
- package/dist/cli/run.js +191 -0
- package/dist/cli/run.js.map +1 -0
- package/dist/cli/search.d.ts +2 -0
- package/dist/cli/search.d.ts.map +1 -0
- package/dist/cli/search.js +75 -0
- package/dist/cli/search.js.map +1 -0
- package/dist/cli/serve.d.ts +2 -0
- package/dist/cli/serve.d.ts.map +1 -0
- package/dist/cli/serve.js +34 -0
- package/dist/cli/serve.js.map +1 -0
- package/dist/cli/status.d.ts +2 -0
- package/dist/cli/status.d.ts.map +1 -0
- package/dist/cli/status.js +89 -0
- package/dist/cli/status.js.map +1 -0
- package/dist/cli/task.d.ts +2 -0
- package/dist/cli/task.d.ts.map +1 -0
- package/dist/cli/task.js +153 -0
- package/dist/cli/task.js.map +1 -0
- package/dist/cli/vault-io.d.ts +3 -0
- package/dist/cli/vault-io.d.ts.map +1 -0
- package/dist/cli/vault-io.js +75 -0
- package/dist/cli/vault-io.js.map +1 -0
- package/dist/hooks/post-edit.d.ts +3 -0
- package/dist/hooks/post-edit.d.ts.map +1 -0
- package/dist/hooks/post-edit.js +43 -0
- package/dist/hooks/post-edit.js.map +1 -0
- package/dist/hooks/post-task.d.ts +3 -0
- package/dist/hooks/post-task.d.ts.map +1 -0
- package/dist/hooks/post-task.js +25 -0
- package/dist/hooks/post-task.js.map +1 -0
- package/dist/hooks/pre-compact.d.ts +7 -0
- package/dist/hooks/pre-compact.d.ts.map +1 -0
- package/dist/hooks/pre-compact.js +34 -0
- package/dist/hooks/pre-compact.js.map +1 -0
- package/dist/hooks/session-end.d.ts +3 -0
- package/dist/hooks/session-end.d.ts.map +1 -0
- package/dist/hooks/session-end.js +80 -0
- package/dist/hooks/session-end.js.map +1 -0
- package/dist/hooks/session-start.d.ts +3 -0
- package/dist/hooks/session-start.d.ts.map +1 -0
- package/dist/hooks/session-start.js +108 -0
- package/dist/hooks/session-start.js.map +1 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -0
- package/dist/intelligence/collector.d.ts +12 -0
- package/dist/intelligence/collector.d.ts.map +1 -0
- package/dist/intelligence/collector.js +93 -0
- package/dist/intelligence/collector.js.map +1 -0
- package/dist/intelligence/ranker.d.ts +5 -0
- package/dist/intelligence/ranker.d.ts.map +1 -0
- package/dist/intelligence/ranker.js +107 -0
- package/dist/intelligence/ranker.js.map +1 -0
- package/dist/intelligence/store.d.ts +17 -0
- package/dist/intelligence/store.d.ts.map +1 -0
- package/dist/intelligence/store.js +75 -0
- package/dist/intelligence/store.js.map +1 -0
- package/dist/intelligence/sync.d.ts +3 -0
- package/dist/intelligence/sync.d.ts.map +1 -0
- package/dist/intelligence/sync.js +83 -0
- package/dist/intelligence/sync.js.map +1 -0
- package/dist/intelligence/types.d.ts +35 -0
- package/dist/intelligence/types.d.ts.map +1 -0
- package/dist/intelligence/types.js +2 -0
- package/dist/intelligence/types.js.map +1 -0
- package/dist/lib/context.d.ts +3 -0
- package/dist/lib/context.d.ts.map +1 -0
- package/dist/lib/context.js +56 -0
- package/dist/lib/context.js.map +1 -0
- package/dist/lib/conventions-detect.d.ts +12 -0
- package/dist/lib/conventions-detect.d.ts.map +1 -0
- package/dist/lib/conventions-detect.js +337 -0
- package/dist/lib/conventions-detect.js.map +1 -0
- package/dist/lib/frontmatter.d.ts +7 -0
- package/dist/lib/frontmatter.d.ts.map +1 -0
- package/dist/lib/frontmatter.js +45 -0
- package/dist/lib/frontmatter.js.map +1 -0
- package/dist/lib/fs-helpers.d.ts +6 -0
- package/dist/lib/fs-helpers.d.ts.map +1 -0
- package/dist/lib/fs-helpers.js +24 -0
- package/dist/lib/fs-helpers.js.map +1 -0
- package/dist/lib/interpolate.d.ts +2 -0
- package/dist/lib/interpolate.d.ts.map +1 -0
- package/dist/lib/interpolate.js +4 -0
- package/dist/lib/interpolate.js.map +1 -0
- package/dist/lib/output.d.ts +27 -0
- package/dist/lib/output.d.ts.map +1 -0
- package/dist/lib/output.js +85 -0
- package/dist/lib/output.js.map +1 -0
- package/dist/lib/reader.d.ts +14 -0
- package/dist/lib/reader.d.ts.map +1 -0
- package/dist/lib/reader.js +75 -0
- package/dist/lib/reader.js.map +1 -0
- package/dist/lib/stack-detect.d.ts +12 -0
- package/dist/lib/stack-detect.d.ts.map +1 -0
- package/dist/lib/stack-detect.js +302 -0
- package/dist/lib/stack-detect.js.map +1 -0
- package/dist/lib/statusline.d.ts +3 -0
- package/dist/lib/statusline.d.ts.map +1 -0
- package/dist/lib/statusline.js +40 -0
- package/dist/lib/statusline.js.map +1 -0
- package/dist/lib/templates.d.ts +3 -0
- package/dist/lib/templates.d.ts.map +1 -0
- package/dist/lib/templates.js +174 -0
- package/dist/lib/templates.js.map +1 -0
- package/dist/lib/types.d.ts +44 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/types.js +2 -0
- package/dist/lib/types.js.map +1 -0
- package/dist/lib/writer.d.ts +13 -0
- package/dist/lib/writer.d.ts.map +1 -0
- package/dist/lib/writer.js +97 -0
- package/dist/lib/writer.js.map +1 -0
- package/dist/mcp/handlers.d.ts +34 -0
- package/dist/mcp/handlers.d.ts.map +1 -0
- package/dist/mcp/handlers.js +256 -0
- package/dist/mcp/handlers.js.map +1 -0
- package/dist/mcp/server.d.ts +20 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +89 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools.d.ts +11 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mcp/tools.js +148 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/tasks/manager.d.ts +14 -0
- package/dist/tasks/manager.d.ts.map +1 -0
- package/dist/tasks/manager.js +151 -0
- package/dist/tasks/manager.js.map +1 -0
- package/dist/tasks/tracker.d.ts +11 -0
- package/dist/tasks/tracker.d.ts.map +1 -0
- package/dist/tasks/tracker.js +31 -0
- package/dist/tasks/tracker.js.map +1 -0
- package/dist/tasks/types.d.ts +19 -0
- package/dist/tasks/types.d.ts.map +1 -0
- package/dist/tasks/types.js +2 -0
- package/dist/tasks/types.js.map +1 -0
- package/dist/workflow/builtin.d.ts +4 -0
- package/dist/workflow/builtin.d.ts.map +1 -0
- package/dist/workflow/builtin.js +93 -0
- package/dist/workflow/builtin.js.map +1 -0
- package/dist/workflow/engine.d.ts +38 -0
- package/dist/workflow/engine.d.ts.map +1 -0
- package/dist/workflow/engine.js +217 -0
- package/dist/workflow/engine.js.map +1 -0
- package/dist/workflow/loader.d.ts +4 -0
- package/dist/workflow/loader.d.ts.map +1 -0
- package/dist/workflow/loader.js +106 -0
- package/dist/workflow/loader.js.map +1 -0
- package/dist/workflow/state.d.ts +11 -0
- package/dist/workflow/state.d.ts.map +1 -0
- package/dist/workflow/state.js +49 -0
- package/dist/workflow/state.js.map +1 -0
- package/dist/workflow/types.d.ts +36 -0
- package/dist/workflow/types.d.ts.map +1 -0
- package/dist/workflow/types.js +2 -0
- package/dist/workflow/types.js.map +1 -0
- package/package.json +54 -0
- package/templates/agents/architect.md +46 -0
- package/templates/agents/coder.md +46 -0
- package/templates/agents/committer.md +29 -0
- package/templates/agents/debugger.md +54 -0
- package/templates/agents/planner.md +45 -0
- package/templates/agents/reader.md +48 -0
- package/templates/agents/reviewer.md +48 -0
- package/templates/agents/tester.md +41 -0
- package/templates/claude/agents/researcher.md +47 -0
- package/templates/claude/agents/writer.md +29 -0
- package/templates/claude/commands/git/changelog.md +41 -0
- package/templates/claude/commands/git/merge.md +37 -0
- package/templates/claude/commands/git/new-branch.md +34 -0
- package/templates/claude/commands/git/pr-review.md +64 -0
- package/templates/claude/commands/session/handover.md +49 -0
- package/templates/claude/commands/session/resume.md +43 -0
- package/templates/claude/commands/session/review.md +81 -0
- package/templates/claude/commands/task.md +52 -0
- package/templates/claude/commands/vault/adr.md +39 -0
- package/templates/claude/commands/vault/analyze.md +110 -0
- package/templates/claude/commands/vault/bug.md +31 -0
- package/templates/claude/commands/vault/debt.md +28 -0
- package/templates/claude/commands/vault/deps.md +36 -0
- package/templates/claude/commands/vault/from-spec.md +306 -0
- package/templates/claude/commands/vault/search.md +31 -0
- package/templates/claude/commands/vault/security-scan.md +50 -0
- package/templates/claude/commands/vault/test-gaps.md +38 -0
- package/templates/claude/commands/workflow/dev.md +913 -0
- package/templates/claude/commands/workflow.md +47 -0
- package/templates/claude/settings.json +52 -0
- package/templates/claude/skills/obsidian-markdown/SKILL.md +196 -0
- package/templates/claude/skills/obsidian-markdown/references/CALLOUTS.md +58 -0
- package/templates/claude/skills/obsidian-markdown/references/EMBEDS.md +63 -0
- package/templates/claude/skills/obsidian-markdown/references/PROPERTIES.md +61 -0
- package/templates/workflows/deploy.yaml +21 -0
- package/templates/workflows/release.yaml +26 -0
- package/templates/workflows/spike.yaml +14 -0
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# /workflow — Manage development workflows
|
|
2
|
+
|
|
3
|
+
Run, resume, or check status of development workflows.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
- `/workflow run dev "task"` — Full dev workflow
|
|
8
|
+
- `/workflow run hotfix "fix"` — Quick hotfix
|
|
9
|
+
- `/workflow run review` — Code review only
|
|
10
|
+
- `/workflow run test` — Run tests only
|
|
11
|
+
- `/workflow status` — Current workflow status
|
|
12
|
+
- `/workflow resume` — Resume paused workflow
|
|
13
|
+
|
|
14
|
+
## Output format for /workflow run
|
|
15
|
+
|
|
16
|
+
🔄 **Workflow:** \<name\> — "\<task description\>"
|
|
17
|
+
|
|
18
|
+
| # | Step | Agent | Gate | Status |
|
|
19
|
+
|---|------|-------|------|--------|
|
|
20
|
+
| 1 | read | reader | — | ✅ done |
|
|
21
|
+
| 2 | plan | planner | approval | ⏸️ paused |
|
|
22
|
+
| 3 | code | coder | — | ○ pending |
|
|
23
|
+
| 4 | review | reviewer | review-pass | ○ pending |
|
|
24
|
+
| 5 | test | tester | tests-pass | ○ pending |
|
|
25
|
+
| 6 | commit | committer | — | ○ pending |
|
|
26
|
+
|
|
27
|
+
⏸️ **Step 'plan' requires approval.**
|
|
28
|
+
|
|
29
|
+
\<plan content\>
|
|
30
|
+
|
|
31
|
+
**Approve?** (yes / no / edit)
|
|
32
|
+
|
|
33
|
+
## Output format for /workflow status
|
|
34
|
+
|
|
35
|
+
🔄 **Workflow:** \<name\> (\<run id\>)
|
|
36
|
+
|
|
37
|
+
- **Status:** ✅ completed / ⏸️ paused / 🔴 failed
|
|
38
|
+
- **Step:** \<current\> (N/M)
|
|
39
|
+
- **Task:** \<linked task or none\>
|
|
40
|
+
- **Started:** \<timestamp\>
|
|
41
|
+
|
|
42
|
+
## Available Workflows
|
|
43
|
+
|
|
44
|
+
- **dev** — read → plan → code → review → test → commit
|
|
45
|
+
- **hotfix** — read → code → test → commit
|
|
46
|
+
- **review** — read → review
|
|
47
|
+
- **test** — read → test
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"SessionStart": [
|
|
4
|
+
{
|
|
5
|
+
"hooks": [
|
|
6
|
+
{
|
|
7
|
+
"type": "command",
|
|
8
|
+
"command": "node node_modules/dev-workflow/dist/hooks/session-start.js",
|
|
9
|
+
"timeout": 10000
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"SessionEnd": [
|
|
15
|
+
{
|
|
16
|
+
"hooks": [
|
|
17
|
+
{
|
|
18
|
+
"type": "command",
|
|
19
|
+
"command": "node node_modules/dev-workflow/dist/hooks/session-end.js",
|
|
20
|
+
"timeout": 10000
|
|
21
|
+
}
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"PreCompact": [
|
|
26
|
+
{
|
|
27
|
+
"matcher": "auto",
|
|
28
|
+
"hooks": [
|
|
29
|
+
{
|
|
30
|
+
"type": "command",
|
|
31
|
+
"command": "node node_modules/dev-workflow/dist/hooks/pre-compact.js",
|
|
32
|
+
"timeout": 8000
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"matcher": "manual",
|
|
38
|
+
"hooks": [
|
|
39
|
+
{
|
|
40
|
+
"type": "command",
|
|
41
|
+
"command": "node node_modules/dev-workflow/dist/hooks/pre-compact.js",
|
|
42
|
+
"timeout": 8000
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"statusLine": {
|
|
49
|
+
"type": "command",
|
|
50
|
+
"command": "node node_modules/dev-workflow/dist/lib/statusline.js"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: obsidian-markdown
|
|
3
|
+
description: Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax. Use when working with .md files in Obsidian, or when the user mentions wikilinks, callouts, frontmatter, tags, embeds, or Obsidian notes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Obsidian Flavored Markdown Skill
|
|
7
|
+
|
|
8
|
+
Create and edit valid Obsidian Flavored Markdown. Obsidian extends CommonMark and GFM with wikilinks, embeds, callouts, properties, comments, and other syntax. This skill covers only Obsidian-specific extensions -- standard Markdown (headings, bold, italic, lists, quotes, code blocks, tables) is assumed knowledge.
|
|
9
|
+
|
|
10
|
+
## Workflow: Creating an Obsidian Note
|
|
11
|
+
|
|
12
|
+
1. **Add frontmatter** with properties (title, tags, aliases) at the top of the file. See [PROPERTIES.md](references/PROPERTIES.md) for all property types.
|
|
13
|
+
2. **Write content** using standard Markdown for structure, plus Obsidian-specific syntax below.
|
|
14
|
+
3. **Link related notes** using wikilinks (`[[Note]]`) for internal vault connections, or standard Markdown links for external URLs.
|
|
15
|
+
4. **Embed content** from other notes, images, or PDFs using the `![[embed]]` syntax. See [EMBEDS.md](references/EMBEDS.md) for all embed types.
|
|
16
|
+
5. **Add callouts** for highlighted information using `> [!type]` syntax. See [CALLOUTS.md](references/CALLOUTS.md) for all callout types.
|
|
17
|
+
6. **Verify** the note renders correctly in Obsidian's reading view.
|
|
18
|
+
|
|
19
|
+
> When choosing between wikilinks and Markdown links: use `[[wikilinks]]` for notes within the vault (Obsidian tracks renames automatically) and `[text](url)` for external URLs only.
|
|
20
|
+
|
|
21
|
+
## Internal Links (Wikilinks)
|
|
22
|
+
|
|
23
|
+
```markdown
|
|
24
|
+
[[Note Name]] Link to note
|
|
25
|
+
[[Note Name|Display Text]] Custom display text
|
|
26
|
+
[[Note Name#Heading]] Link to heading
|
|
27
|
+
[[Note Name#^block-id]] Link to block
|
|
28
|
+
[[#Heading in same note]] Same-note heading link
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Define a block ID by appending `^block-id` to any paragraph:
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
This paragraph can be linked to. ^my-block-id
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
For lists and quotes, place the block ID on a separate line after the block:
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
> A quote block
|
|
41
|
+
|
|
42
|
+
^quote-id
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Embeds
|
|
46
|
+
|
|
47
|
+
Prefix any wikilink with `!` to embed its content inline:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
![[Note Name]] Embed full note
|
|
51
|
+
![[Note Name#Heading]] Embed section
|
|
52
|
+
![[image.png]] Embed image
|
|
53
|
+
![[image.png|300]] Embed image with width
|
|
54
|
+
![[document.pdf#page=3]] Embed PDF page
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
See [EMBEDS.md](references/EMBEDS.md) for audio, video, search embeds, and external images.
|
|
58
|
+
|
|
59
|
+
## Callouts
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
> [!note]
|
|
63
|
+
> Basic callout.
|
|
64
|
+
|
|
65
|
+
> [!warning] Custom Title
|
|
66
|
+
> Callout with a custom title.
|
|
67
|
+
|
|
68
|
+
> [!faq]- Collapsed by default
|
|
69
|
+
> Foldable callout (- collapsed, + expanded).
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Common types: `note`, `tip`, `warning`, `info`, `example`, `quote`, `bug`, `danger`, `success`, `failure`, `question`, `abstract`, `todo`.
|
|
73
|
+
|
|
74
|
+
See [CALLOUTS.md](references/CALLOUTS.md) for the full list with aliases, nesting, and custom CSS callouts.
|
|
75
|
+
|
|
76
|
+
## Properties (Frontmatter)
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
---
|
|
80
|
+
title: My Note
|
|
81
|
+
date: 2024-01-15
|
|
82
|
+
tags:
|
|
83
|
+
- project
|
|
84
|
+
- active
|
|
85
|
+
aliases:
|
|
86
|
+
- Alternative Name
|
|
87
|
+
cssclasses:
|
|
88
|
+
- custom-class
|
|
89
|
+
---
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Default properties: `tags` (searchable labels), `aliases` (alternative note names for link suggestions), `cssclasses` (CSS classes for styling).
|
|
93
|
+
|
|
94
|
+
See [PROPERTIES.md](references/PROPERTIES.md) for all property types, tag syntax rules, and advanced usage.
|
|
95
|
+
|
|
96
|
+
## Tags
|
|
97
|
+
|
|
98
|
+
```markdown
|
|
99
|
+
#tag Inline tag
|
|
100
|
+
#nested/tag Nested tag with hierarchy
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Tags can contain letters, numbers (not first character), underscores, hyphens, and forward slashes. Tags can also be defined in frontmatter under the `tags` property.
|
|
104
|
+
|
|
105
|
+
## Comments
|
|
106
|
+
|
|
107
|
+
```markdown
|
|
108
|
+
This is visible %%but this is hidden%% text.
|
|
109
|
+
|
|
110
|
+
%%
|
|
111
|
+
This entire block is hidden in reading view.
|
|
112
|
+
%%
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Obsidian-Specific Formatting
|
|
116
|
+
|
|
117
|
+
```markdown
|
|
118
|
+
==Highlighted text== Highlight syntax
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## Math (LaTeX)
|
|
122
|
+
|
|
123
|
+
```markdown
|
|
124
|
+
Inline: $e^{i\pi} + 1 = 0$
|
|
125
|
+
|
|
126
|
+
Block:
|
|
127
|
+
$$
|
|
128
|
+
\frac{a}{b} = c
|
|
129
|
+
$$
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Diagrams (Mermaid)
|
|
133
|
+
|
|
134
|
+
````markdown
|
|
135
|
+
```mermaid
|
|
136
|
+
graph TD
|
|
137
|
+
A[Start] --> B{Decision}
|
|
138
|
+
B -->|Yes| C[Do this]
|
|
139
|
+
B -->|No| D[Do that]
|
|
140
|
+
```
|
|
141
|
+
````
|
|
142
|
+
|
|
143
|
+
To link Mermaid nodes to Obsidian notes, add `class NodeName internal-link;`.
|
|
144
|
+
|
|
145
|
+
## Footnotes
|
|
146
|
+
|
|
147
|
+
```markdown
|
|
148
|
+
Text with a footnote[^1].
|
|
149
|
+
|
|
150
|
+
[^1]: Footnote content.
|
|
151
|
+
|
|
152
|
+
Inline footnote.^[This is inline.]
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Complete Example
|
|
156
|
+
|
|
157
|
+
````markdown
|
|
158
|
+
---
|
|
159
|
+
title: Project Alpha
|
|
160
|
+
date: 2024-01-15
|
|
161
|
+
tags:
|
|
162
|
+
- project
|
|
163
|
+
- active
|
|
164
|
+
status: in-progress
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
# Project Alpha
|
|
168
|
+
|
|
169
|
+
This project aims to [[improve workflow]] using modern techniques.
|
|
170
|
+
|
|
171
|
+
> [!important] Key Deadline
|
|
172
|
+
> The first milestone is due on ==January 30th==.
|
|
173
|
+
|
|
174
|
+
## Tasks
|
|
175
|
+
|
|
176
|
+
- [x] Initial planning
|
|
177
|
+
- [ ] Development phase
|
|
178
|
+
- [ ] Backend implementation
|
|
179
|
+
- [ ] Frontend design
|
|
180
|
+
|
|
181
|
+
## Notes
|
|
182
|
+
|
|
183
|
+
The algorithm uses $O(n \log n)$ sorting. See [[Algorithm Notes#Sorting]] for details.
|
|
184
|
+
|
|
185
|
+
![[Architecture Diagram.png|600]]
|
|
186
|
+
|
|
187
|
+
Reviewed in [[Meeting Notes 2024-01-10#Decisions]].
|
|
188
|
+
````
|
|
189
|
+
|
|
190
|
+
## References
|
|
191
|
+
|
|
192
|
+
- [Obsidian Flavored Markdown](https://help.obsidian.md/obsidian-flavored-markdown)
|
|
193
|
+
- [Internal links](https://help.obsidian.md/links)
|
|
194
|
+
- [Embed files](https://help.obsidian.md/embeds)
|
|
195
|
+
- [Callouts](https://help.obsidian.md/callouts)
|
|
196
|
+
- [Properties](https://help.obsidian.md/properties)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Callouts Reference
|
|
2
|
+
|
|
3
|
+
## Basic Callout
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
> [!note]
|
|
7
|
+
> This is a note callout.
|
|
8
|
+
|
|
9
|
+
> [!info] Custom Title
|
|
10
|
+
> This callout has a custom title.
|
|
11
|
+
|
|
12
|
+
> [!tip] Title Only
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Foldable Callouts
|
|
16
|
+
|
|
17
|
+
```markdown
|
|
18
|
+
> [!faq]- Collapsed by default
|
|
19
|
+
> This content is hidden until expanded.
|
|
20
|
+
|
|
21
|
+
> [!faq]+ Expanded by default
|
|
22
|
+
> This content is visible but can be collapsed.
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Nested Callouts
|
|
26
|
+
|
|
27
|
+
```markdown
|
|
28
|
+
> [!question] Outer callout
|
|
29
|
+
> > [!note] Inner callout
|
|
30
|
+
> > Nested content
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Supported Callout Types
|
|
34
|
+
|
|
35
|
+
| Type | Aliases | Color / Icon |
|
|
36
|
+
|------|---------|-------------|
|
|
37
|
+
| `note` | - | Blue, pencil |
|
|
38
|
+
| `abstract` | `summary`, `tldr` | Teal, clipboard |
|
|
39
|
+
| `info` | - | Blue, info |
|
|
40
|
+
| `todo` | - | Blue, checkbox |
|
|
41
|
+
| `tip` | `hint`, `important` | Cyan, flame |
|
|
42
|
+
| `success` | `check`, `done` | Green, checkmark |
|
|
43
|
+
| `question` | `help`, `faq` | Yellow, question mark |
|
|
44
|
+
| `warning` | `caution`, `attention` | Orange, warning |
|
|
45
|
+
| `failure` | `fail`, `missing` | Red, X |
|
|
46
|
+
| `danger` | `error` | Red, zap |
|
|
47
|
+
| `bug` | - | Red, bug |
|
|
48
|
+
| `example` | - | Purple, list |
|
|
49
|
+
| `quote` | `cite` | Gray, quote |
|
|
50
|
+
|
|
51
|
+
## Custom Callouts (CSS)
|
|
52
|
+
|
|
53
|
+
```css
|
|
54
|
+
.callout[data-callout="custom-type"] {
|
|
55
|
+
--callout-color: 255, 0, 0;
|
|
56
|
+
--callout-icon: lucide-alert-circle;
|
|
57
|
+
}
|
|
58
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Embeds Reference
|
|
2
|
+
|
|
3
|
+
## Embed Notes
|
|
4
|
+
|
|
5
|
+
```markdown
|
|
6
|
+
![[Note Name]]
|
|
7
|
+
![[Note Name#Heading]]
|
|
8
|
+
![[Note Name#^block-id]]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Embed Images
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
![[image.png]]
|
|
15
|
+
![[image.png|640x480]] Width x Height
|
|
16
|
+
![[image.png|300]] Width only (maintains aspect ratio)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## External Images
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+

|
|
23
|
+

|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Embed Audio
|
|
27
|
+
|
|
28
|
+
```markdown
|
|
29
|
+
![[audio.mp3]]
|
|
30
|
+
![[audio.ogg]]
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Embed PDF
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
![[document.pdf]]
|
|
37
|
+
![[document.pdf#page=3]]
|
|
38
|
+
![[document.pdf#height=400]]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Embed Lists
|
|
42
|
+
|
|
43
|
+
```markdown
|
|
44
|
+
![[Note#^list-id]]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Where the list has a block ID:
|
|
48
|
+
|
|
49
|
+
```markdown
|
|
50
|
+
- Item 1
|
|
51
|
+
- Item 2
|
|
52
|
+
- Item 3
|
|
53
|
+
|
|
54
|
+
^list-id
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Embed Search Results
|
|
58
|
+
|
|
59
|
+
````markdown
|
|
60
|
+
```query
|
|
61
|
+
tag:#project status:done
|
|
62
|
+
```
|
|
63
|
+
````
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Properties (Frontmatter) Reference
|
|
2
|
+
|
|
3
|
+
Properties use YAML frontmatter at the start of a note:
|
|
4
|
+
|
|
5
|
+
```yaml
|
|
6
|
+
---
|
|
7
|
+
title: My Note Title
|
|
8
|
+
date: 2024-01-15
|
|
9
|
+
tags:
|
|
10
|
+
- project
|
|
11
|
+
- important
|
|
12
|
+
aliases:
|
|
13
|
+
- My Note
|
|
14
|
+
- Alternative Name
|
|
15
|
+
cssclasses:
|
|
16
|
+
- custom-class
|
|
17
|
+
status: in-progress
|
|
18
|
+
rating: 4.5
|
|
19
|
+
completed: false
|
|
20
|
+
due: 2024-02-01T14:30:00
|
|
21
|
+
---
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Property Types
|
|
25
|
+
|
|
26
|
+
| Type | Example |
|
|
27
|
+
|------|---------|
|
|
28
|
+
| Text | `title: My Title` |
|
|
29
|
+
| Number | `rating: 4.5` |
|
|
30
|
+
| Checkbox | `completed: true` |
|
|
31
|
+
| Date | `date: 2024-01-15` |
|
|
32
|
+
| Date & Time | `due: 2024-01-15T14:30:00` |
|
|
33
|
+
| List | `tags: [one, two]` or YAML list |
|
|
34
|
+
| Links | `related: "[[Other Note]]"` |
|
|
35
|
+
|
|
36
|
+
## Default Properties
|
|
37
|
+
|
|
38
|
+
- `tags` - Note tags (searchable, shown in graph view)
|
|
39
|
+
- `aliases` - Alternative names for the note (used in link suggestions)
|
|
40
|
+
- `cssclasses` - CSS classes applied to the note in reading/editing view
|
|
41
|
+
|
|
42
|
+
## Tags
|
|
43
|
+
|
|
44
|
+
```markdown
|
|
45
|
+
#tag
|
|
46
|
+
#nested/tag
|
|
47
|
+
#tag-with-dashes
|
|
48
|
+
#tag_with_underscores
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Tags can contain: letters (any language), numbers (not first character), underscores `_`, hyphens `-`, forward slashes `/` (for nesting).
|
|
52
|
+
|
|
53
|
+
In frontmatter:
|
|
54
|
+
|
|
55
|
+
```yaml
|
|
56
|
+
---
|
|
57
|
+
tags:
|
|
58
|
+
- tag1
|
|
59
|
+
- nested/tag2
|
|
60
|
+
---
|
|
61
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
name: deploy
|
|
2
|
+
description: Build, test, and prepare deployment
|
|
3
|
+
steps:
|
|
4
|
+
- name: read
|
|
5
|
+
agent: reader
|
|
6
|
+
gate: none
|
|
7
|
+
- name: test
|
|
8
|
+
agent: tester
|
|
9
|
+
gate: tests-pass
|
|
10
|
+
onFail: null
|
|
11
|
+
maxAttempts: 1
|
|
12
|
+
- name: review
|
|
13
|
+
agent: reviewer
|
|
14
|
+
input: [test.output]
|
|
15
|
+
gate: review-pass
|
|
16
|
+
onFail: null
|
|
17
|
+
maxAttempts: 1
|
|
18
|
+
- name: commit
|
|
19
|
+
agent: committer
|
|
20
|
+
input: [test.output, review.output]
|
|
21
|
+
gate: user-approve
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
name: release
|
|
2
|
+
description: Full release cycle with review and approval gates
|
|
3
|
+
steps:
|
|
4
|
+
- name: read
|
|
5
|
+
agent: reader
|
|
6
|
+
gate: none
|
|
7
|
+
- name: review
|
|
8
|
+
agent: reviewer
|
|
9
|
+
input: [read.output]
|
|
10
|
+
gate: review-pass
|
|
11
|
+
onFail: null
|
|
12
|
+
maxAttempts: 1
|
|
13
|
+
- name: test
|
|
14
|
+
agent: tester
|
|
15
|
+
input: [read.output]
|
|
16
|
+
gate: tests-pass
|
|
17
|
+
onFail: null
|
|
18
|
+
maxAttempts: 1
|
|
19
|
+
- name: approve
|
|
20
|
+
agent: planner
|
|
21
|
+
input: [review.output, test.output]
|
|
22
|
+
gate: user-approve
|
|
23
|
+
- name: commit
|
|
24
|
+
agent: committer
|
|
25
|
+
input: [review.output, test.output]
|
|
26
|
+
gate: none
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
name: spike
|
|
2
|
+
description: Quick research and prototyping without review or commit
|
|
3
|
+
steps:
|
|
4
|
+
- name: read
|
|
5
|
+
agent: reader
|
|
6
|
+
gate: none
|
|
7
|
+
- name: plan
|
|
8
|
+
agent: architect
|
|
9
|
+
input: [read.output]
|
|
10
|
+
gate: user-approve
|
|
11
|
+
- name: code
|
|
12
|
+
agent: coder
|
|
13
|
+
input: [read.output, plan.output]
|
|
14
|
+
gate: none
|