From 9063a380c443bbdca1362ef7f131e43e2efd2805 Mon Sep 17 00:00:00 2001 From: hetaoBackend Date: Sat, 19 Sep 2026 06:57:35 +0800 Subject: [PATCH 1/2] docs: add public contributor development skills --- .agents/skills/cli-guide/SKILL.md | 65 +++++++ .../skills/cross-layer-drift-sweep/SKILL.md | 58 ++++++ .agents/skills/frontend-design/LICENSE.txt | 176 ++++++++++++++++++ .agents/skills/frontend-design/SKILL.md | 42 +++++ .agents/skills/retro/SKILL.md | 50 +++++ .agents/skills/testing-workflow/SKILL.md | 67 +++++++ .../skills/verify-all-runtime-sinks/SKILL.md | 56 ++++++ CONTRIBUTING.md | 16 ++ THIRD_PARTY_NOTICES.md | 1 + release/public-source.json | 7 + 10 files changed, 538 insertions(+) create mode 100644 .agents/skills/cli-guide/SKILL.md create mode 100644 .agents/skills/cross-layer-drift-sweep/SKILL.md create mode 100644 .agents/skills/frontend-design/LICENSE.txt create mode 100644 .agents/skills/frontend-design/SKILL.md create mode 100644 .agents/skills/retro/SKILL.md create mode 100644 .agents/skills/testing-workflow/SKILL.md create mode 100644 .agents/skills/verify-all-runtime-sinks/SKILL.md diff --git a/.agents/skills/cli-guide/SKILL.md b/.agents/skills/cli-guide/SKILL.md new file mode 100644 index 0000000..67923d7 --- /dev/null +++ b/.agents/skills/cli-guide/SKILL.md @@ -0,0 +1,65 @@ +--- +name: cli-guide +description: Navigate and change the MiniMax Code command tree, interactive TUI, headless exec, ACP adapters, or their in-process runtime connection. Use when implementing or debugging CLI behavior in this repository. +--- + +# CLI Architecture Guide + +Read `docs/architecture.md` and the current command registration before proposing +a change. The standalone entry point lives in `packages/tui`. + +## Entry points + +| Path | Responsibility | +| --- | --- | +| `packages/tui/src/index.ts` | Process bootstrap and runtime environment | +| `packages/tui/src/cli/main.ts` | Command execution and process lifecycle | +| `packages/tui/src/cli/program.ts` | Commander command registration | +| `packages/tui/src/cli/contract.ts` | Interactive and exec option contracts | +| `packages/tui/src/tui/` | Interactive terminal UI | +| `packages/tui/src/headless/` | Exec invocation, output, cancellation and settlement | +| `packages/tui/src/acp/` | ACP protocol adapter | +| `packages/tui/src/runtime/adapter.ts` | Adapter to the in-process CliService | +| `packages/local-runtime-v2/src/local/` | Local product service entry points | +| `packages/protocol/src/local.ts` | Shared CLI data structures | + +The execution path is: + +```text +TUI / exec / ACP + -> CliService + -> local applications + -> session / turn / agent services + -> model providers and tools +``` + +Preserve that in-process boundary. Shared behavior belongs in the relevant +application or service; presentation and transport behavior belong in their +adapters. Trace callers before assuming a fix to one adapter covers the others. + +## Implementing changes + +- For commands and flags, inspect `cli/program.ts`, `cli/contract.ts`, and the + affected command handler together. Check parsing, help, dispatch and errors. +- For interactive behavior, follow the controller and rendering path under + `tui/`. Check session selection, queued input and interruption where affected. +- For exec, follow invocation through output and settlement. Verify stdout, + stderr, exit code and cancellation; help output alone is insufficient. +- For ACP, check protocol updates and the underlying runtime operation together. +- For shared runtime changes, identify all affected TUI, exec and ACP consumers. + +## Verification + +Use [testing-workflow](../testing-workflow/SKILL.md) to select declared tests. +Build the standalone artifact before inspecting its actual help: + +```bash +pnpm build +node dist/cli.js --help +node dist/cli.js exec --help +node dist/cli.js acp --help +``` + +Read current help before documenting flags. Use temporary data directories and +synthetic inputs for behavior checks, following the existing smoke/BYOK tests. +Report offline protocol tests separately from live-provider acceptance. diff --git a/.agents/skills/cross-layer-drift-sweep/SKILL.md b/.agents/skills/cross-layer-drift-sweep/SKILL.md new file mode 100644 index 0000000..0a88b73 --- /dev/null +++ b/.agents/skills/cross-layer-drift-sweep/SKILL.md @@ -0,0 +1,58 @@ +--- +name: cross-layer-drift-sweep +description: Check completed cross-layer changes for stale fields, defaults, types, contracts or wording across storage, runtime, adapters, TUI and documentation. Use after a rename or contract change with downstream consumers, not for unrelated single-file edits. +--- + +# Cross-Layer Drift Sweep + +Type checking can miss manual mappings, serialized fields and assertions hidden +behind casts. Sweep the narrow data flow affected by the change before reporting +completion. + +## Establish the change + +Record the change axis: type narrowing, field rename, configuration default, +contract evolution or display wording. Name the old and new expressions and the +producer and final observable consumer. + +Draw the relevant flow, for example: + +```text +storage -> runtime writer -> local service -> adapter -> TUI / exec / ACP -> docs +``` + +Only include layers that actually consume the changed value. + +## Sweep + +1. Search both old and new expressions. Include source, comments, tests, + fixtures, snapshots and relevant documentation. Paired searches reveal layers + that adopted only part of a change. +2. Check the likely gaps for the change axis: + + | Axis | Common gaps | + | --- | --- | + | Type narrowing | Runtime writers, filesystem reads with casts, serializers, adapter mappings | + | Field rename | Schema, migrations, inline test DDL, fixtures, mappings, user-visible labels | + | Configuration default | Defaults, thresholds, examples, logs, status output and documentation | + | Contract evolution | Local protocol types, service exports, call sites and compatibility fixtures | + | Display wording | TUI, exec output, logs, screenshots and exact-string assertions | + +3. Fix mismatches within the changed data flow. Explain deliberate compatibility + remnants in an adjacent comment or regression test. Avoid changing unrelated + matches merely because they contain the same token. +4. Verify an assertion at the final observable layer, such as rendered text, + serialized output, a local-service result or a database-backed read. Reuse an + existing assertion when it already covers the behavior; add one when there is + a meaningful regression gap. +5. Run affected tests and type checks using + [testing-workflow](../testing-workflow/SKILL.md). For runtime inputs with + alternate paths or caches, also use + [verify-all-runtime-sinks](../verify-all-runtime-sinks/SKILL.md). + +## Evidence + +Report the axis, data flow, old/new search terms, layers checked, mismatches fixed +and verification results. Explain remaining old-token matches. If the final +consumer could not be exercised, state the gap and the nearest contract evidence +instead of treating a parser-only test as complete validation. diff --git a/.agents/skills/frontend-design/LICENSE.txt b/.agents/skills/frontend-design/LICENSE.txt new file mode 100644 index 0000000..d9a10c0 --- /dev/null +++ b/.agents/skills/frontend-design/LICENSE.txt @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS diff --git a/.agents/skills/frontend-design/SKILL.md b/.agents/skills/frontend-design/SKILL.md new file mode 100644 index 0000000..678a113 --- /dev/null +++ b/.agents/skills/frontend-design/SKILL.md @@ -0,0 +1,42 @@ +--- +name: frontend-design +description: Create distinctive, production-grade web UI. Use for web components, pages, apps, posters, landing pages, dashboards, React components, HTML/CSS layouts, or styling and beautifying existing web interfaces. +license: Complete terms in LICENSE.txt +--- + +This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices. + +The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints. + +## Design Thinking + +Before coding, understand the context and commit to a BOLD aesthetic direction: +- **Purpose**: What problem does this interface solve? Who uses it? +- **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction. +- **Constraints**: Technical requirements (framework, performance, accessibility). +- **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember? + +**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity. + +Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is: +- Production-grade and functional +- Visually striking and memorable +- Cohesive with a clear aesthetic point-of-view +- Meticulously refined in every detail + +## Frontend Aesthetics Guidelines + +Focus on: +- **Typography**: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font. +- **Color & Theme**: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes. +- **Motion**: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise. +- **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density. +- **Backgrounds & Visual Details**: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays. + +NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character. + +Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations. + +**IMPORTANT**: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well. + +Remember: you are capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision. diff --git a/.agents/skills/retro/SKILL.md b/.agents/skills/retro/SKILL.md new file mode 100644 index 0000000..bba2861 --- /dev/null +++ b/.agents/skills/retro/SKILL.md @@ -0,0 +1,50 @@ +--- +name: retro +description: Extract evidence-backed lessons from a completed development session and propose focused improvements to repository guidance. Use when the user asks for a retrospective or to capture reusable lessons. +--- + +# Session Retrospective + +Turn concrete failures, retries and workflow gaps into a small set of reusable +improvements. Do not turn one-off preferences into repository-wide rules. + +## Review the evidence + +For each useful lesson, record: + +- **Event:** what happened, with a public-safe file, command, error or commit. +- **Cause:** the demonstrated reason, separated from hypotheses. +- **Lesson:** what a future contributor should do differently. +- **Impact:** safety/data, correctness, efficiency or preference. + +Skip unsupported opinions and one-off circumstances. Combine duplicate lessons +and keep the result focused on the few changes that would prevent recurrence. +Redact credentials, private service details and real user content from evidence. + +## Find the right home + +Read existing guidance before proposing additions: + +| Lesson | Candidate location | +| --- | --- | +| Repository-wide constraint | `AGENTS.md` or `CONTRIBUTING.md` | +| A specific reusable workflow | The relevant `.agents/skills` entry | +| Build, release or source-sync procedure | The relevant document under `docs/` | +| A behavioral defect | A focused code fix and regression test proposal | + +Prefer correcting an existing instruction over introducing a parallel process +or a new notes/proposals directory. Check current source and scripts before +preserving an explanation that might already be stale. + +## Scope and delivery + +If the user asks only for a retrospective, return the findings and proposed +edits. Apply documentation changes when requested, within the established scope. +Do not treat the retrospective as authorization to create issues, send messages, +publish changes or modify personal/agent memory. Write memory only when the user +explicitly asks for that persistence and the environment supports it. + +For applied changes, keep public contributor guidance in English. New files +require publication review and inventory regeneration; content-only changes do +not. Report the lessons, evidence, proposed or applied destinations, checks run +and remaining decisions. diff --git a/.agents/skills/testing-workflow/SKILL.md b/.agents/skills/testing-workflow/SKILL.md new file mode 100644 index 0000000..cf44573 --- /dev/null +++ b/.agents/skills/testing-workflow/SKILL.md @@ -0,0 +1,67 @@ +--- +name: testing-workflow +description: Select and report verification for MiniMax Code changes using the repository's declared test suites and CI gates. Use when validating code, skills, documentation, build tooling or source-distribution changes. +--- + +# Testing Workflow + +Start with changed files, then identify the owning runtime, user entry point and +final observable behavior. Read `AGENTS.md`, `CONTRIBUTING.md` and the applicable +steps in `scripts/verify.mjs`. + +## Focused iteration + +Vitest files belong to groups in `test/vitest-suites.json`; aliases and inclusion +come from `vitest.oss.config.mjs`. Select an existing declared file for a focused +run, for example: + +```bash +pnpm exec vitest run --config vitest.oss.config.mjs packages/tui/test/unit/headless-contract.test.ts +``` + +Register new Vitest files in the suite declaration. Do not add hard-coded file +lists to package scripts or the Vitest configuration. Vendored upstream test +suites are outside this distribution's verification. + +| Scope | Repository gate | +| --- | --- | +| Runtime, TUI, providers, plugins and ACP | `pnpm test:capabilities` | +| Headless CLI and offline BYOK behavior | `pnpm test:byok` | +| CLI artifact smoke | `pnpm test:smoke` | +| Public artifact content | `pnpm test:artifact` | +| TUI build-mode contract | `pnpm test:status-contract` | +| Permission facade on macOS/Linux | `pnpm test:policy` | +| Sandbox on macOS | `pnpm test:sandbox` | +| Source-sync, workflow and release tools | `pnpm test:release-tools` | +| Types and standalone build boundary | `pnpm typecheck`, `pnpm build`, `pnpm check:standalone` | +| Published files and generated paths | `pnpm check:source`, `pnpm check:tsconfig` | + +Artifact-dependent tests require a current `pnpm build`. Keep test state and +reports outside the repository, using synthetic data and temporary directories. + +## Delivery verification + +Run `git diff --check` and the relevant individual gates while editing. Review +new or removed files before regenerating `release/public-source.json` with +`node scripts/source-inventory.mjs --write`. + +Before opening a PR, run `pnpm verify` on the reviewed commit with a clean tracked +working tree. Source export reads committed HEAD and rejects uncommitted tracked +changes; report that limitation if only iteration checks are possible. + +Use `pnpm verify --list` to inspect the current platform's gates. Use the `docs` +profile only when every changed path qualifies under `scripts/ci-changes.mjs`. +Skills under `.agents/skills`, unknown paths and inventory changes require the +full profile. The `archive` profile is for source-archive validation, not a way to +bypass the clean-commit export requirement. + +## Manual evidence and reporting + +For CLI behavior, exercise the built `dist/cli.js` and inspect stdout, stderr and +exit code. For terminal presentation, exercise the relevant interaction when +feasible. For provider or service changes, distinguish offline fixtures from a +real endpoint call. + +Report scope, commands and results, manual scenarios, and untested boundaries. +Use PASS/FAIL/BLOCKED for actual checks; mark checks that did not run explicitly. +Local macOS success does not establish Windows/Linux or live-service acceptance. diff --git a/.agents/skills/verify-all-runtime-sinks/SKILL.md b/.agents/skills/verify-all-runtime-sinks/SKILL.md new file mode 100644 index 0000000..0a59f2a --- /dev/null +++ b/.agents/skills/verify-all-runtime-sinks/SKILL.md @@ -0,0 +1,56 @@ +--- +name: verify-all-runtime-sinks +description: Verify that runtime-affecting schema, prompt, identity, adapter, cache or rename changes reach every affected consumer. Use before declaring runtime validation complete when alternate entry points or persisted/generated values can retain old behavior. +--- + +# Verify All Runtime Sinks + +Identify where a changed value is finally consumed, beyond its first parser or +happy-path test. This skill defines where to verify; use +[testing-workflow](../testing-workflow/SKILL.md) for commands and gates. + +## Procedure + +1. Name the changed contract, field, prompt, identity or adapter behavior. Identify + the producer and final runtime consumer, and describe the stale behavior that + a partial change would leave behind. +2. Map the affected consumers. Mark each dimension `covered`, `not applicable` + or `unknown`, with a reason: + - **Parser to runtime:** normalized objects, managers, launch options, + serialization boundaries and service inputs. + - **Alternate entry points:** TUI, exec, ACP, task/session launches, built-in + and project agents, and explicit historical-data importers where relevant. + - **Generated or cached values:** bundled prompts, static prompt caches, + compiled configuration, persisted state and memoized objects. + - **Fixtures and artifacts:** tests, snapshots, example agents/skills and + built distribution assets when affected. + - **String remnants:** old property names, environment/configuration keys, + log labels and documentation used by generation or tests. +3. Search for both old and new tokens beyond source files. Include ignored build + outputs explicitly when checking artifacts; an ordinary repository search may + skip them. Inspect raw serialized shapes where types or casts can hide drift. +4. Exercise the affected runtime paths through their final consumers. Check each + adapter that can bypass the tested path. Shared implementation is evidence + only after tracing how those adapters reach it. For prompts, check source + selection and caching; for identity/schema changes, check agent kinds that + parse differently. +5. Record commands, results, remaining old-token hits and compatibility reasons. + Inspect or regenerate caches using isolated test state; do not clear a user's + sessions or configuration as part of verification. + +## Completion bar + +Do not declare complete runtime coverage while a relevant consumer is `unknown` +or an unexplained old value remains. Report narrower passing checks and the +remaining gap. Parser tests alone do not establish propagation through launch, +execution and final presentation. + +Example evidence: + +```text +Parser to service: covered by the affected integration test. +Exec and ACP: covered by adapter tests; interactive TUI: not run. +Prompt cache: not applicable; the changed value is not cached. +Old field: retained only in the historical importer and its fixture. +Result: focused checks pass; interactive acceptance remains unverified. +``` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fbaade5..2a00199 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,6 +18,22 @@ Preserve original third-party license text. Localized product strings, multiling ## Local validation +Repository development skills are available under [`.agents/skills`](.agents/skills): + +| Skill | Use | +| --- | --- | +| [cli-guide](.agents/skills/cli-guide/SKILL.md) | Navigate TUI, exec, ACP and their runtime boundary | +| [cross-layer-drift-sweep](.agents/skills/cross-layer-drift-sweep/SKILL.md) | Check renames, defaults and contracts across consumers | +| [testing-workflow](.agents/skills/testing-workflow/SKILL.md) | Select focused checks and the required delivery gates | +| [verify-all-runtime-sinks](.agents/skills/verify-all-runtime-sinks/SKILL.md) | Verify alternate runtime paths, caches and artifacts | +| [retro](.agents/skills/retro/SKILL.md) | Turn demonstrated failures into focused guidance improvements | +| [frontend-design](.agents/skills/frontend-design/SKILL.md) | Design web interfaces when a contribution includes one | + +These are contributor workflows, separate from bundled product skills. They are +adapted to this distribution's paths and verification contracts; workflow changes +should update the relevant skill alongside its source of truth. The +frontend-design skill retains its own Apache-2.0 license. + ```bash pnpm install --frozen-lockfile pnpm verify diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md index 8066d40..a19dcc2 100644 --- a/THIRD_PARTY_NOTICES.md +++ b/THIRD_PARTY_NOTICES.md @@ -4,6 +4,7 @@ - **Sandbox Runtime**: `third_party/sandbox-runtime`, Apache-2.0. See its README, LICENSE, and upstream.json for the upstream version, source revision, fork changes, and native build instructions. - **models.dev**: the bundled provider / model catalog snapshot, MIT; notices are in `packages/tui/THIRD_PARTY_NOTICES.md`. - **Bundled assets**: LICENSE, NOTICE, and file-level declarations in each asset directory retain their original attribution. +- **Frontend Design skill**: `.agents/skills/frontend-design`, Apache-2.0. The skill and its accompanying [license](.agents/skills/frontend-design/LICENSE.txt) are retained unchanged; the repository's root MIT license does not replace that license. - **npm dependencies**: versions and declared licenses are recorded in `release/dependency-licenses.json`; `pnpm-lock.yaml` is authoritative for dependency resolution and integrity. - **mcode-tools 0.0.4**: extracted unchanged from the public `@minimax-ai/code@0.3.11` package during the build. Its distribution manifest declares MIT; archive and CLI hashes are pinned in `scripts/lib/mcode-tools-artifact.mjs`. The tool's own manifest is retained, and the original distribution's third-party notices are copied to `dist/MCODE_TOOLS_NOTICES.md`. The root license does not replace this artifact's existing declarations. diff --git a/release/public-source.json b/release/public-source.json index b9c1ff4..ff39acf 100644 --- a/release/public-source.json +++ b/release/public-source.json @@ -1,6 +1,13 @@ { "schemaVersion": 1, "files": [ + ".agents/skills/cli-guide/SKILL.md", + ".agents/skills/cross-layer-drift-sweep/SKILL.md", + ".agents/skills/frontend-design/LICENSE.txt", + ".agents/skills/frontend-design/SKILL.md", + ".agents/skills/retro/SKILL.md", + ".agents/skills/testing-workflow/SKILL.md", + ".agents/skills/verify-all-runtime-sinks/SKILL.md", ".gitattributes", ".github/CODEOWNERS", ".github/ISSUE_TEMPLATE/01-bug-report.yml", From f6c85800033e077f37b367687036b28284e2c348 Mon Sep 17 00:00:00 2001 From: hetaoBackend Date: Sat, 19 Sep 2026 07:05:32 +0800 Subject: [PATCH 2/2] docs: remove frontend design from contributor skills --- .agents/skills/frontend-design/LICENSE.txt | 176 --------------------- .agents/skills/frontend-design/SKILL.md | 42 ----- CONTRIBUTING.md | 4 +- THIRD_PARTY_NOTICES.md | 1 - release/public-source.json | 2 - 5 files changed, 1 insertion(+), 224 deletions(-) delete mode 100644 .agents/skills/frontend-design/LICENSE.txt delete mode 100644 .agents/skills/frontend-design/SKILL.md diff --git a/.agents/skills/frontend-design/LICENSE.txt b/.agents/skills/frontend-design/LICENSE.txt deleted file mode 100644 index d9a10c0..0000000 --- a/.agents/skills/frontend-design/LICENSE.txt +++ /dev/null @@ -1,176 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS diff --git a/.agents/skills/frontend-design/SKILL.md b/.agents/skills/frontend-design/SKILL.md deleted file mode 100644 index 678a113..0000000 --- a/.agents/skills/frontend-design/SKILL.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -name: frontend-design -description: Create distinctive, production-grade web UI. Use for web components, pages, apps, posters, landing pages, dashboards, React components, HTML/CSS layouts, or styling and beautifying existing web interfaces. -license: Complete terms in LICENSE.txt ---- - -This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices. - -The user provides frontend requirements: a component, page, application, or interface to build. They may include context about the purpose, audience, or technical constraints. - -## Design Thinking - -Before coding, understand the context and commit to a BOLD aesthetic direction: -- **Purpose**: What problem does this interface solve? Who uses it? -- **Tone**: Pick an extreme: brutally minimal, maximalist chaos, retro-futuristic, organic/natural, luxury/refined, playful/toy-like, editorial/magazine, brutalist/raw, art deco/geometric, soft/pastel, industrial/utilitarian, etc. There are so many flavors to choose from. Use these for inspiration but design one that is true to the aesthetic direction. -- **Constraints**: Technical requirements (framework, performance, accessibility). -- **Differentiation**: What makes this UNFORGETTABLE? What's the one thing someone will remember? - -**CRITICAL**: Choose a clear conceptual direction and execute it with precision. Bold maximalism and refined minimalism both work - the key is intentionality, not intensity. - -Then implement working code (HTML/CSS/JS, React, Vue, etc.) that is: -- Production-grade and functional -- Visually striking and memorable -- Cohesive with a clear aesthetic point-of-view -- Meticulously refined in every detail - -## Frontend Aesthetics Guidelines - -Focus on: -- **Typography**: Choose fonts that are beautiful, unique, and interesting. Avoid generic fonts like Arial; opt instead for distinctive choices that elevate the frontend's aesthetics; unexpected, characterful font choices. Pair a distinctive display font with a refined body font. -- **Color & Theme**: Commit to a cohesive aesthetic. Use CSS variables for consistency. Dominant colors with sharp accents outperform timid, evenly-distributed palettes. -- **Motion**: Use animations for effects and micro-interactions. Prioritize CSS-only solutions for HTML. Use Motion library for React when available. Focus on high-impact moments: one well-orchestrated page load with staggered reveals (animation-delay) creates more delight than scattered micro-interactions. Use scroll-triggering and hover states that surprise. -- **Spatial Composition**: Unexpected layouts. Asymmetry. Overlap. Diagonal flow. Grid-breaking elements. Generous negative space OR controlled density. -- **Backgrounds & Visual Details**: Create atmosphere and depth rather than defaulting to solid colors. Add contextual effects and textures that match the overall aesthetic. Apply creative forms like gradient meshes, noise textures, geometric patterns, layered transparencies, dramatic shadows, decorative borders, custom cursors, and grain overlays. - -NEVER use generic AI-generated aesthetics like overused font families (Inter, Roboto, Arial, system fonts), cliched color schemes (particularly purple gradients on white backgrounds), predictable layouts and component patterns, and cookie-cutter design that lacks context-specific character. - -Interpret creatively and make unexpected choices that feel genuinely designed for the context. No design should be the same. Vary between light and dark themes, different fonts, different aesthetics. NEVER converge on common choices (Space Grotesk, for example) across generations. - -**IMPORTANT**: Match implementation complexity to the aesthetic vision. Maximalist designs need elaborate code with extensive animations and effects. Minimalist or refined designs need restraint, precision, and careful attention to spacing, typography, and subtle details. Elegance comes from executing the vision well. - -Remember: you are capable of extraordinary creative work. Don't hold back, show what can truly be created when thinking outside the box and committing fully to a distinctive vision. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2a00199..3e4adf0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -27,12 +27,10 @@ Repository development skills are available under [`.agents/skills`](.agents/ski | [testing-workflow](.agents/skills/testing-workflow/SKILL.md) | Select focused checks and the required delivery gates | | [verify-all-runtime-sinks](.agents/skills/verify-all-runtime-sinks/SKILL.md) | Verify alternate runtime paths, caches and artifacts | | [retro](.agents/skills/retro/SKILL.md) | Turn demonstrated failures into focused guidance improvements | -| [frontend-design](.agents/skills/frontend-design/SKILL.md) | Design web interfaces when a contribution includes one | These are contributor workflows, separate from bundled product skills. They are adapted to this distribution's paths and verification contracts; workflow changes -should update the relevant skill alongside its source of truth. The -frontend-design skill retains its own Apache-2.0 license. +should update the relevant skill alongside its source of truth. ```bash pnpm install --frozen-lockfile diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md index a19dcc2..8066d40 100644 --- a/THIRD_PARTY_NOTICES.md +++ b/THIRD_PARTY_NOTICES.md @@ -4,7 +4,6 @@ - **Sandbox Runtime**: `third_party/sandbox-runtime`, Apache-2.0. See its README, LICENSE, and upstream.json for the upstream version, source revision, fork changes, and native build instructions. - **models.dev**: the bundled provider / model catalog snapshot, MIT; notices are in `packages/tui/THIRD_PARTY_NOTICES.md`. - **Bundled assets**: LICENSE, NOTICE, and file-level declarations in each asset directory retain their original attribution. -- **Frontend Design skill**: `.agents/skills/frontend-design`, Apache-2.0. The skill and its accompanying [license](.agents/skills/frontend-design/LICENSE.txt) are retained unchanged; the repository's root MIT license does not replace that license. - **npm dependencies**: versions and declared licenses are recorded in `release/dependency-licenses.json`; `pnpm-lock.yaml` is authoritative for dependency resolution and integrity. - **mcode-tools 0.0.4**: extracted unchanged from the public `@minimax-ai/code@0.3.11` package during the build. Its distribution manifest declares MIT; archive and CLI hashes are pinned in `scripts/lib/mcode-tools-artifact.mjs`. The tool's own manifest is retained, and the original distribution's third-party notices are copied to `dist/MCODE_TOOLS_NOTICES.md`. The root license does not replace this artifact's existing declarations. diff --git a/release/public-source.json b/release/public-source.json index ff39acf..dcc0a66 100644 --- a/release/public-source.json +++ b/release/public-source.json @@ -3,8 +3,6 @@ "files": [ ".agents/skills/cli-guide/SKILL.md", ".agents/skills/cross-layer-drift-sweep/SKILL.md", - ".agents/skills/frontend-design/LICENSE.txt", - ".agents/skills/frontend-design/SKILL.md", ".agents/skills/retro/SKILL.md", ".agents/skills/testing-workflow/SKILL.md", ".agents/skills/verify-all-runtime-sinks/SKILL.md",