feat(v4): add core-next & cli-next packages with integration/E2E test… - #15663
Closed
Alive-Fish wants to merge 7 commits into
Closed
feat(v4): add core-next & cli-next packages with integration/E2E test…#15663Alive-Fish wants to merge 7 commits into
Alive-Fish wants to merge 7 commits into
Conversation
| // Copy path-level properties (servers, parameters, etc.) but not operations | ||
| newPaths[path] = { ...unresolvedSpec.paths![path] }; | ||
| for (const m of HTTPMethodsConst.AllOperationMethods) { | ||
| delete (newPaths[path] as Record<string, unknown>)[m]; |
| } | ||
| } | ||
|
|
||
| (newPaths[path] as Record<string, unknown>)[methodName] = ( |
|
|
||
| try { | ||
| await fs.access(envFilePath); | ||
| const envContent = await fs.readFile(envFilePath, "utf-8"); |
| const updated = envContent.replace(/^TEAMS_APP_ID=.*$/m, `TEAMS_APP_ID=${newUUID}`); | ||
| if (updated === envContent) { | ||
| // key didn't exist, append | ||
| await fs.appendFile(envFilePath, `\nTEAMS_APP_ID=${newUUID}\n`); |
| // key didn't exist, append | ||
| await fs.appendFile(envFilePath, `\nTEAMS_APP_ID=${newUUID}\n`); | ||
| } else { | ||
| await fs.writeFile(envFilePath, updated, "utf-8"); |
| }); | ||
| `; | ||
|
|
||
| await fs.appendFile(cmdsPath, code); |
- Add core-next/cli-next to pnpm-workspace and setup:next script - Ignore tsbuildinfo, build dirs for new packages, and skills scratch dirs - Allow ARM exception under packages/core-next/src/drivers/builtin/arm - ESLint: ignore unused vars/args/caught-errors prefixed with underscore - ESLint no-secrets: raise tolerance to 4.5 for test fixtures - CodeQL: suppress js/file-access-to-http (intentional uploads in service clients) - setup-project action: add 'next' setup mode - VS Code MCP: switch GitHub MCP to insiders endpoint
core-next: next-gen core engine for Microsoft 365 Agents Toolkit v4 - Operations: create, provision, deploy, publish, package, validate - Drivers (built-in): aadApp, apiKey, oauth, arm, teamsApp, m365, file, script - Lifecycle engine with Result<T, FxError> error handling - Template descriptors with Mustache scaffolding (DA, DA-MCP, foundry-agent, etc.) - AtkContext, env file management, project tracking - Integration tests (24) and E2E lifecycle tests cli-next: Commander.js-based CLI surface over core-next - Action handlers: create, provision, deploy, publish, package, validate, env, account - esbuild bundling (97% faster startup vs tsc) - Telemetry, MSAL auth, validators, prompts - Integration tests (62) and E2E scaffold/CLI-syntax tests
- ci-next.yml: build, lint, format, unit + integration tests for core-next/cli-next - e2e-test-next.yml: matrix lifecycle E2E with failure summary - Update cd.yml, e2e-test.yml, e2e-test-same-tenant.yml, unit-test.yml for v4 paths
Replace the single .github/copilot-instructions.md with granular files under .github/instructions/, each scoped via applyTo glob patterns: - api.instructions.md (packages/api/**) - cli.instructions.md (packages/cli/**, packages/cli-next/**) - codebase.instructions.md (packages/**, templates/**) - features.instructions.md (fx-core, templates, .dev/features.json) - fx-core.instructions.md (packages/fx-core/**, packages/core-next/**) - templates.instructions.md (templates/**) - vscode-extension.instructions.md (packages/vscode-extension/**) Removes the now-redundant manifest.instructions.md (folded into codebase).
Add reproducible agent skills system for AI-assisted v4 development:
- .github/skills/: project-specific workflow skills (vibe-coding, dev-test-next,
e2e-troubleshooting, lint-format, plan-tracker, session-review, docs-guard,
feature-flag-refactor) plus expert skills (code-reviewer, security-reviewer,
debugging-wizard, legacy-modernizer, architecture-designer, test-master,
react-expert, mcp-developer, secure-code-guardian, typescript-pro)
- .github/scripts/setup-agent-skills.{ps1,sh}: reproducible install scripts
- skills-lock.json: pinned skill versions for reproducible installs
- .agents/: vendored skill content from setup script
Reorganize the docs/ tree into a numbered, arc42-inspired structure:
00-overview Vision, glossary, roadmap, docs design principles
01-product PRD, personas, capabilities, scenarios, UX flows
02-architecture arc42 building blocks, ADRs (0006-0008)
03-infrastructure Azure topology, Bicep, CI/CD, networking
04-specs Data model entities, schemas, operation specs
05-engineering Coding standards, testing, security, telemetry,
v4 design strategy, package reference, cross-cutting
06-operations Branching, releases, CI, E2E strategy, publishing
07-contributing Dev setup, adding driver/template/CLI command
08-troubleshooting Auth, bot, deploy, provision errors
_v3-reference Quarantined v3 internals (not v4 design input)
assets, README Top-level overview
Removes the legacy docs/fx-core/bot-help.md (moved to _v3-reference/).
- .dev/plans/: design plans for v4 refactor, CLI rewrite, lifecycle E2E, commands - .dev/assessments/: refactor assessments and validator design - .dev/features.json: canonical feature registry consumed by integration tests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…s and CI workflows