Initial commit: AirCoding V1.0.0 Alpha architecture baseline

Complete architecture document set with multi-model review remediation:
- Frozen interface contracts, runtime semantics, DB schemas
- Event/tool/error/provider registries
- Scheduler and main agent state machines
- C4 module/code views, solution architecture, baseline V1
- Multi-model review reports and joint assessment
- Phase-gate remediation complete (P0/P1/P2/UX resolved)
- Implementation plan with T-000A through T-045
- Reference folders kept as placeholders only
This commit is contained in:
AirCoding
2026-05-28 18:45:01 +08:00
commit 82f3140847
366 changed files with 123826 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
{
"name": "claude-hud",
"owner": {
"name": "Jarrod Watts",
"email": "jarrodwattsyt@gmail.com"
},
"metadata": {
"description": "Real-time statusline HUD for Claude Code - context health, tool activity, agent tracking, and todo progress",
"version": "0.0.12"
},
"plugins": [
{
"name": "claude-hud",
"source": "./",
"description": "Real-time statusline showing context usage, active tools, running agents, and todo progress. Always visible below your input, zero config required.",
"category": "monitoring",
"tags": ["hud", "statusline", "monitoring", "context", "tools", "agents", "todos"]
}
]
}

View File

@@ -0,0 +1,17 @@
{
"name": "claude-hud",
"description": "Real-time statusline HUD for Claude Code - context health, tool activity, agent tracking, and todo progress",
"version": "0.0.12",
"author": {
"name": "Jarrod Watts",
"url": "https://github.com/jarrodwatts"
},
"commands": [
"./commands/setup.md",
"./commands/configure.md"
],
"homepage": "https://github.com/jarrodwatts/claude-hud",
"repository": "https://github.com/jarrodwatts/claude-hud",
"license": "MIT",
"keywords": ["hud", "monitoring", "statusline", "context", "tools", "agents", "todos", "claude-code"]
}

View File

@@ -0,0 +1,12 @@
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false

View File

@@ -0,0 +1 @@
* @jarrodwatts

View File

@@ -0,0 +1,21 @@
---
name: Bug report
about: Report a reproducible problem
labels: bug
---
## Summary
## Steps to Reproduce
## Expected Behavior
## Actual Behavior
## Environment
- OS:
- Node/Bun version:
- Claude Code version:
## Logs or Screenshots

View File

@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Security report
url: mailto:jarrodwttsyt@gmail.com
about: Please report security vulnerabilities via email.

View File

@@ -0,0 +1,15 @@
---
name: Feature request
about: Suggest an idea or enhancement
labels: enhancement
---
## Summary
## Problem to Solve
## Proposed Solution
## Alternatives Considered
## Additional Context

View File

@@ -0,0 +1,7 @@
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 5

View File

@@ -0,0 +1,11 @@
## Summary
## Testing
- [ ] `npm test`
- [ ] `npm run test:coverage`
## Checklist
- [ ] Tests updated or not needed
- [ ] Docs updated if behavior changed

View File

@@ -0,0 +1,42 @@
name: Build dist
on:
push:
branches: [main]
concurrency:
group: build-dist
cancel-in-progress: false
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[auto]')"
steps:
- uses: actions/checkout@v6
with:
token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/setup-node@v6
with:
node-version: '20'
cache: 'npm'
- run: npm ci
- run: npm test
- run: npm run build
- name: Verify build output
run: test -f dist/index.js || exit 1
- name: Commit dist/
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add dist/ --force
git diff --staged --quiet || git commit -m "build: compile dist/ [auto]"
git push

View File

@@ -0,0 +1,23 @@
name: CI
on:
pull_request:
push:
branches: [main]
paths-ignore:
- 'dist/**'
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
cache: npm
- run: npm ci
- run: npm run test:coverage

View File

@@ -0,0 +1,48 @@
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
actions: read # Required for Claude to read CI results on PRs
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 1
- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
# This is an optional setting that allows Claude to read CI results on PRs
additional_permissions: |
actions: read
# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
# prompt: 'Update the pull request description to include a summary of changes.'
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
claude_args: '--model claude-opus-4-5-20251101'

View File

@@ -0,0 +1,40 @@
name: Release
on:
push:
tags:
- "v*.*.*"
permissions:
contents: write
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 20.x
cache: npm
- run: npm ci
- run: npm run build
- run: npm test
- run: npm run test:coverage
- name: Extract release notes from CHANGELOG
run: |
version="${GITHUB_REF_NAME#v}"
awk -v version="$version" '
$0 ~ "^## \\[" version "\\]" { in_section = 1; next }
in_section && $0 ~ "^## \\[" { exit }
in_section { print }
' CHANGELOG.md > RELEASE_NOTES.md
if [ ! -s RELEASE_NOTES.md ]; then
echo "No changelog section found for version $version"
exit 1
fi
- name: Create release
uses: softprops/action-gh-release@v2
with:
body_path: RELEASE_NOTES.md

59
reference/claude-hud-0.0.12/.gitignore vendored Executable file
View File

@@ -0,0 +1,59 @@
# Dependencies
node_modules/
# Build artifacts
# dist/ is gitignored but exists on main - CI builds and commits it after each merge.
# See .github/workflows/build-dist.yml
dist/
*.tsbuildinfo
# Logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids/
*.pid
*.seed
*.fifo
# OS files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
# IDE
.idea/
.vscode/
*.swp
*.swo
*~
# Environment/secrets (safety)
.env
.env.*
.claude/settings.json
.claude/*.local.json
*.pem
*.key
secrets/
credentials/
# Test coverage
coverage/
.nyc_output/
# Temp files
tmp/
temp/
*.tmp
# Lock files (keep package-lock.json for npm)
yarn.lock
bun.lock

View File