Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
b08d696
Add documentation for HyperLink and Menu components; update navigatio…
csharpfritz Jan 29, 2026
287fbcd
Enhance documentation for Button, HiddenField, and Image components; …
csharpfritz Jan 29, 2026
cc1d2cb
Merge pull request #308 from csharpfritz/fix-docs
csharpfritz Jan 29, 2026
7f484dc
Initial plan
Copilot Jan 29, 2026
f23da2e
Add Sender property to EventArgs classes and update components
Copilot Jan 29, 2026
6784a01
Update sample to demonstrate Sender property usage
Copilot Jan 29, 2026
eede9ac
Remove implementation plans for CheckBoxList, ListBox, Panel, PlaceHo…
csharpfritz Jan 29, 2026
d0830da
Merge pull request #315 from csharpfritz/dev
csharpfritz Jan 29, 2026
16f01e7
Merge pull request #312 from FritzAndFriends/copilot/fix-object-sende…
csharpfritz Jan 29, 2026
147cefb
Add ValidationGroup support for selective validation (#313)
Copilot Jan 29, 2026
abef361
Document Context="Item" requirement for Web Forms compatibility (#310)
Copilot Jan 30, 2026
db93ad4
Add GridView row selection sample demonstrating DataKey retrieval (#311)
Copilot Jan 30, 2026
5227425
Add DataGrid component (#314)
Copilot Jan 30, 2026
51d6b3d
Remove ChildContent wrapper requirement for DataList style elements (…
Copilot Jan 31, 2026
ac59e5c
Add CascadingTypeParameter for automatic ItemType inference in GridVi…
Copilot Jan 31, 2026
d417520
Implement ListViewItem wrapper for databinding events (#316)
Copilot Jan 31, 2026
9fc6dd9
Add DataBinding support to AdRotator component (#317)
Copilot Jan 31, 2026
172d3dd
Add opt-in accessibility features to TreeView component (#323)
Copilot Jan 31, 2026
ba40c10
Add static analysis to the build process (#322)
Copilot Jan 31, 2026
f4287a0
Add automated release management scripts using Nerdbank.GitVersioning…
Copilot Jan 31, 2026
632fc1e
Add xUnit Logger support to test infrastructure (#324)
Copilot Jan 31, 2026
ac4264c
Implement HTML ID rendering for JavaScript integration (#325)
Copilot Jan 31, 2026
ced88c9
Add MasterPage bridge components with Head parameter for Web Forms mi…
Copilot Jan 31, 2026
8e555f1
Unify RepeatDirection to use DataListEnum for simplified enum binding…
Copilot Jan 31, 2026
beb6542
Add Chart control reference samples to BeforeWebForms (#330)
Copilot Feb 1, 2026
d9d1743
Add custom control adapter layer with Roslyn analyzer for Web Forms m…
Copilot Feb 2, 2026
bf91856
Add BulletedList, SiteMapPath, DataPager, and Table (#331)
csharpfritz Feb 2, 2026
9c15ec2
Add FileUpload component for Blazor (#335)
Copilot Feb 10, 2026
2c867c2
[WIP] Create ImageMap component in Blazor (#337)
Copilot Feb 10, 2026
14d261a
Fixes for FileUpload component (#338)
csharpfritz Feb 10, 2026
ed02cf7
Implement PageService for programmatic page title and meta tag manage…
Copilot Feb 10, 2026
6b28e2d
Sprint 2/editor login controls (#339)
csharpfritz Feb 10, 2026
5044428
Sprint3/detailsview passwordrecovery (#340)
csharpfritz Feb 23, 2026
635bb3d
Milestone 4 & 5: Chart Component + 53-Control Feature Audit (#341)
csharpfritz Feb 23, 2026
311d744
Milestone 6: Feature Gap Closure - 54 work items closing ~345 audit g…
csharpfritz Feb 23, 2026
2ed384b
feat: Milestone 7 Control Depth & Navigation Overhaul (#343)
csharpfritz Feb 24, 2026
2626f18
Milestone 8: Release Readiness (#344)
csharpfritz Feb 25, 2026
3044c71
fix(docs): resolve broken links for strict mkdocs build (#346)
csharpfritz Feb 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .ai-team-templates/casting-history.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"universe_usage_history": [],
"assignment_cast_snapshots": {}
}
35 changes: 35 additions & 0 deletions .ai-team-templates/casting-policy.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"casting_policy_version": "1.1",
"allowlist_universes": [
"The Usual Suspects",
"Reservoir Dogs",
"Alien",
"Ocean's Eleven",
"Arrested Development",
"Star Wars",
"The Matrix",
"Firefly",
"The Goonies",
"The Simpsons",
"Breaking Bad",
"Lost",
"Marvel Cinematic Universe",
"DC Universe"
],
"universe_capacity": {
"The Usual Suspects": 6,
"Reservoir Dogs": 8,
"Alien": 8,
"Ocean's Eleven": 14,
"Arrested Development": 15,
"Star Wars": 12,
"The Matrix": 10,
"Firefly": 10,
"The Goonies": 8,
"The Simpsons": 20,
"Breaking Bad": 12,
"Lost": 18,
"Marvel Cinematic Universe": 25,
"DC Universe": 18
}
}
3 changes: 3 additions & 0 deletions .ai-team-templates/casting-registry.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"agents": {}
}
41 changes: 41 additions & 0 deletions .ai-team-templates/ceremonies.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Ceremonies

> Team meetings that happen before or after work. Each squad configures their own.

## Design Review

| Field | Value |
|-------|-------|
| **Trigger** | auto |
| **When** | before |
| **Condition** | multi-agent task involving 2+ agents modifying shared systems |
| **Facilitator** | lead |
| **Participants** | all-relevant |
| **Time budget** | focused |
| **Enabled** | ✅ yes |

**Agenda:**
1. Review the task and requirements
2. Agree on interfaces and contracts between components
3. Identify risks and edge cases
4. Assign action items

---

## Retrospective

| Field | Value |
|-------|-------|
| **Trigger** | auto |
| **When** | after |
| **Condition** | build failure, test failure, or reviewer rejection |
| **Facilitator** | lead |
| **Participants** | all-involved |
| **Time budget** | focused |
| **Enabled** | ✅ yes |

**Agenda:**
1. What happened? (facts only)
2. Root cause analysis
3. What should change?
4. Action items for next iteration
47 changes: 47 additions & 0 deletions .ai-team-templates/charter.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# {Name} — {Role}

> {One-line personality statement — what makes this person tick}

## Identity

- **Name:** {Name}
- **Role:** {Role title}
- **Expertise:** {2-3 specific skills relevant to the project}
- **Style:** {How they communicate — direct? thorough? opinionated?}

## What I Own

- {Area of responsibility 1}
- {Area of responsibility 2}
- {Area of responsibility 3}

## How I Work

- {Key approach or principle 1}
- {Key approach or principle 2}
- {Pattern or convention I follow}

## Boundaries

**I handle:** {types of work this agent does}

**I don't handle:** {types of work that belong to other team members}

**When I'm unsure:** I say so and suggest who might know.

**If I review others' work:** On rejection, I may require a different agent to revise (not the original author) or request a new specialist be spawned. The Coordinator enforces this.

## Collaboration

Before starting work, run `git rev-parse --show-toplevel` to find the repo root, or use the `TEAM ROOT` provided in the spawn prompt. All `.ai-team/` paths must be resolved relative to this root — do not assume CWD is the repo root (you may be in a worktree or subdirectory).

Before starting work, read `.ai-team/decisions.md` for team decisions that affect me.
After making a decision others should know, write it to `.ai-team/decisions/inbox/{my-name}-{brief-slug}.md` — the Scribe will merge it.
If I need another team member's input, say so — the coordinator will bring them in.

## Voice

{1-2 sentences describing personality. Not generic — specific. This agent has OPINIONS.
They have preferences. They push back. They have a style that's distinctly theirs.
Example: "Opinionated about test coverage. Will push back if tests are skipped.
Prefers integration tests over mocks. Thinks 80% coverage is the floor, not the ceiling."}
10 changes: 10 additions & 0 deletions .ai-team-templates/history.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Project Context

- **Owner:** {user name} ({user email})
- **Project:** {project description}
- **Stack:** {languages, frameworks, tools}
- **Created:** {date}

## Learnings

<!-- Append new learnings below. Each entry is something lasting about the project. -->
27 changes: 27 additions & 0 deletions .ai-team-templates/orchestration-log.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Orchestration Log Entry

> One file per agent spawn. Saved to `.ai-team/orchestration-log/{timestamp}-{agent-name}.md`

---

### {timestamp} — {task summary}

| Field | Value |
|-------|-------|
| **Agent routed** | {Name} ({Role}) |
| **Why chosen** | {Routing rationale — what in the request matched this agent} |
| **Mode** | {`background` / `sync`} |
| **Why this mode** | {Brief reason — e.g., "No hard data dependencies" or "User needs to approve architecture"} |
| **Files authorized to read** | {Exact file paths the agent was told to read} |
| **File(s) agent must produce** | {Exact file paths the agent is expected to create or modify} |
| **Outcome** | {Completed / Rejected by {Reviewer} / Escalated} |

---

## Rules

1. **One file per agent spawn.** Named `{timestamp}-{agent-name}.md`.
2. **Log BEFORE spawning.** The entry must exist before the agent runs.
3. **Update outcome AFTER the agent completes.** Fill in the Outcome field.
4. **Never delete or edit past entries.** Append-only.
5. **If a reviewer rejects work,** log the rejection as a new entry with the revision agent.
37 changes: 37 additions & 0 deletions .ai-team-templates/raw-agent-output.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Raw Agent Output — Appendix Format

> This template defines the format for the `## APPENDIX: RAW AGENT OUTPUTS` section
> in any multi-agent artifact.

## Rules

1. **Verbatim only.** Paste the agent's response exactly as returned. No edits.
2. **No summarizing.** Do not condense, paraphrase, or rephrase any part of the output.
3. **No rewriting.** Do not fix typos, grammar, formatting, or style.
4. **No code fences around the entire output.** The raw output is pasted as-is, not wrapped in ``` blocks.
5. **One section per agent.** Each agent that contributed gets its own heading.
6. **Order matches work order.** List agents in the order they were spawned.
7. **Include all outputs.** Even if an agent's work was rejected, include their output for diagnostic traceability.

## Format

```markdown
## APPENDIX: RAW AGENT OUTPUTS

### {Name} ({Role}) — Raw Output

{Paste agent's verbatim response here, unedited}

### {Name} ({Role}) — Raw Output

{Paste agent's verbatim response here, unedited}
```

## Why This Exists

The appendix provides diagnostic integrity. It lets anyone verify:
- What each agent actually said (vs. what the Coordinator assembled)
- Whether the Coordinator faithfully represented agent work
- What was lost or changed in synthesis

Without raw outputs, multi-agent collaboration is unauditable.
26 changes: 26 additions & 0 deletions .ai-team-templates/roster.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Team Roster

> {One-line project description}

## Coordinator

| Name | Role | Notes |
|------|------|-------|
| Squad | Coordinator | Routes work, enforces handoffs and reviewer gates. Does not generate domain artifacts. |

## Members

| Name | Role | Charter | Status |
|------|------|---------|--------|
| {Name} | {Role} | `.ai-team/agents/{name}/charter.md` | ✅ Active |
| {Name} | {Role} | `.ai-team/agents/{name}/charter.md` | ✅ Active |
| {Name} | {Role} | `.ai-team/agents/{name}/charter.md` | ✅ Active |
| {Name} | {Role} | `.ai-team/agents/{name}/charter.md` | ✅ Active |
| Scribe | Session Logger | `.ai-team/agents/scribe/charter.md` | 📋 Silent |

## Project Context

- **Owner:** {user name} ({user email})
- **Stack:** {languages, frameworks, tools}
- **Description:** {what the project does, in one sentence}
- **Created:** {date}
24 changes: 24 additions & 0 deletions .ai-team-templates/routing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Work Routing

How to decide who handles what.

## Routing Table

| Work Type | Route To | Examples |
|-----------|----------|----------|
| {domain 1} | {Name} | {example tasks} |
| {domain 2} | {Name} | {example tasks} |
| {domain 3} | {Name} | {example tasks} |
| Code review | {Name} | Review PRs, check quality, suggest improvements |
| Testing | {Name} | Write tests, find edge cases, verify fixes |
| Scope & priorities | {Name} | What to build next, trade-offs, decisions |
| Session logging | Scribe | Automatic — never needs routing |

## Rules

1. **Eager by default** — spawn all agents who could usefully start work, including anticipatory downstream work.
2. **Scribe always runs** after substantial work, always as `mode: "background"`. Never blocks.
3. **Quick facts → coordinator answers directly.** Don't spawn an agent for "what port does the server run on?"
4. **When two agents could handle it**, pick the one whose domain is the primary concern.
5. **"Team, ..." → fan-out.** Spawn all relevant agents in parallel as `mode: "background"`.
6. **Anticipate downstream work.** If a feature is being built, spawn the tester to write test cases from requirements simultaneously.
50 changes: 50 additions & 0 deletions .ai-team-templates/run-output.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Run Output — {task title}

> Final assembled artifact from a multi-agent run.

## Termination Condition

**Reason:** {One of: User accepted | Reviewer approved | Constraint budget exhausted | Deadlock — escalated to user | User cancelled}

## Constraint Budgets

<!-- Track all active constraints inline. Remove this section if no constraints are active. -->

| Constraint | Used | Max | Status |
|------------|------|-----|--------|
| Clarifying questions | 📊 {n} | {max} | {Active / Exhausted} |
| Revision cycles | 📊 {n} | {max} | {Active / Exhausted} |

## Result

{Assembled final artifact goes here. This is the Coordinator's synthesis of agent outputs.}

---

## Reviewer Verdict

<!-- Include one block per review. Remove this section if no review occurred. -->

### Review by {Name} ({Role})

| Field | Value |
|-------|-------|
| **Verdict** | {Approved / Rejected} |
| **What's wrong** | {Specific issue — not vague} |
| **Why it matters** | {Impact if not fixed} |
| **Who fixes it** | {Name of agent assigned to revise — MUST NOT be the original author} |
| **Revision budget** | 📊 {used} / {max} revision cycles remaining |

---

## APPENDIX: RAW AGENT OUTPUTS

<!-- Paste each agent's verbatim response below. Do NOT edit, summarize, rewrite, or wrap in code fences. One section per agent. -->

### {Name} ({Role}) — Raw Output

{Paste agent's verbatim response here, unedited}

### {Name} ({Role}) — Raw Output

{Paste agent's verbatim response here, unedited}
Loading
Loading