Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
e9faab7
docs: add comprehensive package documentation and architecture guides
jryannel Jan 28, 2026
7edd4b4
build: add test:cover task to generate coverage report
jryannel Jan 28, 2026
7736750
feat: add git workflow commands for feature development
jryannel Jan 28, 2026
2614cd6
docs: add test coverage expansion plan
jryannel Jan 28, 2026
44adf35
docs: add comprehensive package documentation and architecture guides
jryannel Jan 28, 2026
44294da
build: add test:cover task to generate coverage report
jryannel Jan 28, 2026
c61d554
feat: add git workflow commands for feature development
jryannel Jan 28, 2026
94e4af1
docs: add test coverage expansion plan
jryannel Jan 28, 2026
a6886f8
refactor: remove pkg/sim JavaScript simulation engine
jryannel Jan 29, 2026
9567654
refactor: remove NATS dependencies and replace with stubs
jryannel Jan 29, 2026
9c85d28
test: implement Phase 1 test coverage expansion
jryannel Jan 29, 2026
4ceef75
test: implement Phase 2 test coverage expansion (partial)
jryannel Jan 29, 2026
8196a73
test: expand pkg/spec test coverage (Phase 2.3)
jryannel Jan 29, 2026
4f43aa3
test: add pkg/git pure function tests (Phase 3.1 partial)
jryannel Jan 29, 2026
cf6c0e2
test: expand pkg/mon test coverage (Phase 3.3)
jryannel Jan 30, 2026
a5e0a59
test: add pkg/net tests (Phase 3.2)
jryannel Jan 30, 2026
c829775
test: expand pkg/cmd/cfg test coverage (Phase 4.1)
jryannel Jan 30, 2026
31918bd
test: add comprehensive tests for pkg/cmd/gen package
jryannel Jan 30, 2026
687b00f
test: add comprehensive tests for pkg/cmd/{spec,mon,x} packages
jryannel Jan 30, 2026
a83260c
docs: add Phase 4 completion summary and final coverage report
jryannel Jan 30, 2026
4ae2cb8
docs: add comprehensive final summary of test coverage expansion
jryannel Jan 30, 2026
49d34f8
added testscript support
jryannel Feb 9, 2026
dff9967
Merge branch 'main' of https://github.com/apigear-io/cli
jryannel Feb 9, 2026
57ad5a5
refactor: consolidate packages into domain-based architecture
jryannel Feb 9, 2026
f3f1af1
fix: restore missing testdata for apimodel package
jryannel Feb 9, 2026
26d5301
refactor: rename apimodel to objmodel
jryannel Feb 9, 2026
59ed807
docs: add REST API and web UI architecture plan
jryannel Feb 10, 2026
222a3b8
docs: remove outdated auto-generated CLI documentation
jryannel Feb 10, 2026
eca0071
docs: update ARCHITECTURE.md to reflect domain-based reorganization
jryannel Feb 10, 2026
caa3daa
fix: update Go to 1.25.7 and patch security vulnerabilities
jryannel Feb 10, 2026
4445b1d
fix: address remaining Dependabot security alerts
jryannel Feb 10, 2026
b914e8d
cleanup unwanted files
jryannel Feb 13, 2026
98052be
feat: add HTTP REST API server with health and status endpoints
jryannel Feb 13, 2026
bbd8c8c
refactor: move monitor handlers to internal/handler for consistency
jryannel Feb 13, 2026
8788878
refactor: remove NetworkManager layer to simplify architecture
jryannel Feb 13, 2026
8f93753
refactor: centralize routing and relocate swagger docs
jryannel Feb 13, 2026
99dcbc5
chore: mark swagger dependencies as direct
jryannel Feb 13, 2026
d875e8d
feat: add React web UI with embedded serving
jryannel Feb 16, 2026
67d89da
feat: add template management feature to web UI
jryannel Feb 16, 2026
5ce8f82
feat: add frontend tasks and unified build operations
jryannel Feb 16, 2026
dacd88c
feat: add comprehensive development environment setup
jryannel Feb 17, 2026
dc74a6b
fix: template list ordering and version comparison issues
jryannel Feb 17, 2026
b76782f
feat: use semantic versioning for template version comparison
jryannel Feb 17, 2026
3ad883e
feat: add GitHub repository links to template cards
jryannel Feb 17, 2026
b7efc14
feat: add version selector for template installation
jryannel Feb 17, 2026
8c803d7
fix: remove duplicate version selector UI
jryannel Feb 17, 2026
e565330
feat: add comprehensive testing setup and migrate to useSuspenseQuery
jryannel Feb 17, 2026
2b4ccce
ci: update GitHub workflows to Go 1.26 and add frontend testing
jryannel Feb 17, 2026
07ccaf9
fix: build frontend before backend tests to satisfy embed directive
jryannel Feb 17, 2026
25e0a89
fix: resolve TypeScript build errors in tests
jryannel Feb 17, 2026
054700e
refactor: simplify CI workflow to use task ci:all command
jryannel Feb 17, 2026
df6dfa2
chore: remove golangci-lint from CI pipeline
jryannel Feb 17, 2026
2ae474e
feat: migrate to ESLint v9 flat config
jryannel Feb 17, 2026
2093b0b
docs: clarify ESLint is for linting only, not formatting
jryannel Feb 17, 2026
d145485
fix: remove -race flag from test:ci (requires CGO)
jryannel Feb 17, 2026
28f23a5
fix: skip network-dependent tests in CI with -short flag
jryannel Feb 17, 2026
9cb2747
fix: resolve golangci-lint errors across codebase
jryannel Feb 18, 2026
a74ac41
feat(java): add list variant template filters
alwa-siili Mar 31, 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
  •  
  •  
  •  
46 changes: 46 additions & 0 deletions .air.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
root = "."
testdata_dir = "testdata"
tmp_dir = "tmp"

[build]
args_bin = ["serve", "--port", "8080"]
bin = "./tmp/main"
cmd = "go build -o ./tmp/main ./cmd/apigear"
delay = 1000
exclude_dir = ["assets", "tmp", "vendor", "testdata", "web", "node_modules", "bin", "docs"]
exclude_file = []
exclude_regex = ["_test.go"]
exclude_unchanged = false
follow_symlink = false
full_bin = ""
include_dir = []
include_ext = ["go", "tpl", "tmpl", "html"]
include_file = []
kill_delay = "0s"
log = "build-errors.log"
poll = false
poll_interval = 0
post_cmd = []
pre_cmd = []
rerun = false
rerun_delay = 500
send_interrupt = false
stop_on_error = false

[color]
app = ""
build = "yellow"
main = "magenta"
runner = "green"
watcher = "cyan"

[log]
main_only = false
time = false

[misc]
clean_on_exit = false

[screen]
clear_on_rebuild = false
keep_scroll = true
76 changes: 76 additions & 0 deletions .claude/commands/git-finish.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Git Finish - Complete Feature Branch

Finalize the feature branch and prepare for merging or creating a pull request.

## Instructions

1. Run `git status` to ensure all changes are committed
2. If there are uncommitted changes, prompt user to commit them first (suggest using `/git-step`)
3. Run `git log main..HEAD` to show all commits on this branch
4. Ask the user what they want to do:
- Create a pull request
- Merge directly to main (if allowed by workflow)
- Push branch without merging
- Cancel
5. Based on user choice:

### Option A: Create Pull Request
1. Ensure branch is pushed to remote: `git push -u origin <branch-name>`
2. Analyze all commits to generate PR title and description
3. Use `gh pr create` to create the pull request with:
- Title: Summarize the feature/fix
- Body: Include conventional commit format with:
- Summary section (bullet points of main changes)
- Detailed description
- Test plan (checklist of testing steps)
- Related issues (if any)
4. Return the PR URL

### Option B: Merge to Main
1. Switch to main branch
2. Pull latest changes: `git pull origin main`
3. Merge feature branch: `git merge --no-ff <branch-name>`
4. Push to remote: `git push origin main`
5. Optionally delete feature branch locally and remotely
6. Confirm merge successful

### Option C: Push Only
1. Push branch to remote: `git push -u origin <branch-name>`
2. Provide instructions for creating PR manually
3. Confirm push successful

## Pull Request Template

```markdown
## Summary
- <bullet point of main change>
- <bullet point of another change>

## Description
<Detailed description of what was done and why>

## Test Plan
- [ ] Unit tests pass
- [ ] Integration tests pass
- [ ] Manual testing completed
- [ ] Documentation updated

## Related Issues
Closes #<issue-number>
```

## Pre-Merge Checklist

Before finishing, verify:
- [ ] All tests pass
- [ ] Code follows project conventions
- [ ] Documentation is updated
- [ ] No merge conflicts with main
- [ ] Commit messages follow conventional commits
- [ ] No sensitive data in commits

## Branch Cleanup

After successful merge, optionally:
- Delete local branch: `git branch -d <branch-name>`
- Delete remote branch: `git push origin --delete <branch-name>`
38 changes: 38 additions & 0 deletions .claude/commands/git-start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Git Start - Create Feature Branch

Create a new feature branch from the main branch following best practices.

## Instructions

1. Ask the user for a feature name/description if not provided as an argument
2. Generate a branch name using the format: `feature/<descriptive-name>` or `fix/<descriptive-name>`
- Use kebab-case for the branch name
- Keep it concise but descriptive
- Suggest the branch name to the user for approval
3. Check the current git status to ensure working directory is clean
4. If there are uncommitted changes, ask the user what to do (commit, stash, or abort)
5. Switch to main branch and pull latest changes
6. Create and checkout the new feature branch
7. Confirm the new branch has been created and is active

## Example Usage

```
/git-start user-authentication
/git-start fix login bug
/git-start
```

## Branch Naming Convention

- `feature/<name>` - For new features
- `fix/<name>` - For bug fixes
- `refactor/<name>` - For refactoring
- `docs/<name>` - For documentation changes
- `test/<name>` - For test improvements

## Best Practices

- Always start from an updated main branch
- Use descriptive branch names that reflect the work
- Ensure working directory is clean before branching
69 changes: 69 additions & 0 deletions .claude/commands/git-step.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# Git Step - Commit Changes with Conventional Commits

Commit current changes using conventional commit format.

## Instructions

1. Run `git status` to check for changes
2. Run `git diff` to see the changes
3. Analyze the changes and determine the appropriate conventional commit type
4. Draft a conventional commit message following the format:
```
<type>(<scope>): <description>

[optional body]

[optional footer]
```
5. Present the commit message to the user for approval
6. Stage the relevant files using `git add`
7. Create the commit with the approved message
8. Confirm the commit was successful with `git log -1`

## Conventional Commit Types

- `feat` - A new feature
- `fix` - A bug fix
- `docs` - Documentation only changes
- `style` - Changes that don't affect code meaning (formatting, etc.)
- `refactor` - Code change that neither fixes a bug nor adds a feature
- `perf` - Performance improvement
- `test` - Adding or correcting tests
- `build` - Changes to build system or dependencies
- `ci` - Changes to CI configuration
- `chore` - Other changes that don't modify src or test files

## Scope Examples

- Package names: `cfg`, `gen`, `mcp`, `idl`, etc.
- Component names: `filters`, `parser`, `commands`
- Feature areas: `auth`, `templates`, `monitoring`

## Message Guidelines

- Use imperative mood in description ("add" not "added" or "adds")
- Don't capitalize first letter of description
- No period at the end of description
- Keep description under 72 characters
- Use body to explain what and why (not how)
- Reference issues in footer: `Fixes #123` or `Closes #456`

## Examples

```
feat(gen): add support for external types in JNI filter
fix(mcp): correct tool annotations for registry operations
docs: add comprehensive package documentation
test(helper): add unit tests for string utilities
refactor(cmd): simplify command flag parsing
```

## Breaking Changes

For breaking changes, add `!` after type/scope and include `BREAKING CHANGE:` in footer:
```
feat(api)!: change configuration file format

BREAKING CHANGE: Configuration files now use YAML instead of JSON.
Migration guide available in docs/migration.md
```
26 changes: 23 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,30 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-go@v4

- uses: actions/setup-go@v5
with:
go-version: "1.26.x"

- uses: pnpm/action-setup@v4
with:
version: 9

- uses: actions/setup-node@v4
with:
go-version: 1.24.x
- run: go test ./...
node-version: '20'
cache: 'pnpm'
cache-dependency-path: 'web/pnpm-lock.yaml'

- name: Install frontend dependencies
run: cd web && pnpm install --frozen-lockfile

- name: Build frontend
run: cd web && pnpm build

- name: Run backend tests
run: go test ./...

- uses: goreleaser/goreleaser-action@v5
with:
distribution: goreleaser
Expand Down
30 changes: 25 additions & 5 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,34 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v4
with:
go-version: "1.24.x"
- uses: actions/checkout@v4

- uses: actions/setup-go@v5
with:
go-version: "1.26.x"

- uses: actions/cache@v4
with:
path: |
~/go/pkg/mod
~/.cache/go-build
key: ${{ runner.os }}-${{ hashFiles('**/go.sum') }}
- run: go test ./...
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}

- uses: pnpm/action-setup@v4
with:
version: 9

- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'pnpm'
cache-dependency-path: 'web/pnpm-lock.yaml'

- name: Install Task
uses: arduino/setup-task@v2
with:
version: 3.x
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Run CI checks
run: task ci:all
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,14 @@ coverage.txt

**/__debug*
apigear

# Web UI
web/node_modules/
web/dist/*
!web/dist/.gitkeep
web/.vite/
web/.pnpm-store

# Development tools
.overmind.sock
build-errors.log
Loading