adding-copyright-headers

โดย flutter

เพิ่มส่วนหัวลิขสิทธิ์ให้กับไฟล์ตามประเภทไฟล์ ใช้เมื่อสร้างไฟล์ใหม่หรือเมื่อถูกขอให้ตรวจสอบส่วนหัวลิขสิทธิ์

npx skills add https://github.com/flutter/devtools --skill adding-copyright-headers

Adding Copyright Headers

Formats

Dart Files (.dart)

// Copyright 20?? The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.

YAML Files (.yaml)

# Copyright 20?? The Flutter Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.

HTML Files (.html) and Markdown Files (.md)

<!--
Copyright 20?? The Flutter Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
-->

Shell Scripts (.sh)

# Copyright 20?? The Flutter Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.

Instructions

  1. New Files: When creating a new file, you MUST add the appropriate copyright header based on its file extension.
    • Replace 20?? with the current year (e.g., 2026).
  2. Placement:
    • The copyright header should be at the very top of the file by default.
    • Exception: If the file requires a shebang (e.g., #!/bin/bash in .sh files) or other necessary frontmatter, the copyright header must come after the frontmatter, separated by a blank line.
  3. Exclusions: Copyright headers are not necessary in directories that begin with a dot (.), such as:
    • .agents/
    • .gemini/
    • .github/
  4. Existing Files: When editing an existing file, do NOT modify the year in the copyright header. Leave it as it is.
  5. Subsequent Edits: Subsequent edits should not modify the year.

Examples (for 2026)

Shell Script with Shebang

#!/bin/bash

# Copyright 2026 The Flutter Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.

Dart File

// Copyright 2026 The Flutter Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.

Skills เพิ่มเติมจาก flutter

dart-modern-features
flutter
เพื่อหาผู้สมัครสำหรับการปรับปรุงให้ทันสมัย:
flutter-fix-layout-issues
flutter
แก้ไขข้อผิดพลาดการจัดวาง Flutter (โอเวอร์โฟลว์, ข้อจำกัดที่ไม่มีขอบเขต) โดยใช้เครื่องมือ Dart และ Flutter MCP ใช้เมื่อจัดการกับ "RenderFlex overflowed", "Vertical…
adding-release-notes
flutter
เพิ่มคำอธิบายการเปลี่ยนแปลงที่ผู้ใช้เห็นลงในบันทึกประจำรุ่นของ DevTools ใช้เมื่อบันทึกการปรับปรุง การแก้ไข หรือฟีเจอร์ใหม่ในไฟล์ NEXT_RELEASE_NOTES.md
reviewing-devtools-prs
flutter
เวิร์กโฟลว์การรีวิว PR เฉพาะคลังของ DevTools ที่บังคับใช้แนวทางสไตล์ของ DevTools และรูปแบบการรีวิวทั่วไป ใช้เมื่อรีวิว pull requests ใน...
dart-use-primary-constructors
flutter
ช่วยให้ผู้ใช้เขียนคอนสตรักเตอร์หลักใน Dart ที่ถูกต้องทั้งทางไวยากรณ์และความหมาย และย้าย/ใช้งานไวยากรณ์คอนสตรักเตอร์แบบใหม่ ไวยากรณ์เซมิโคลอนแบบไม่มีเนื้อหา…
code-documentation
flutter
คู่มือสำหรับการเขียนเอกสารประกอบโค้ดอย่างมีประสิทธิภาพ รวมถึง docstrings, JSDoc, dartdoc และคอมเมนต์การใช้งาน ใช้ทักษะนี้เมื่อเขียนโค้ดใหม่ เพิ่มเติม…
api-review
flutter
ตรวจสอบโค้ดที่ระบุเทียบกับแนวทาง API Design มาตรฐาน ใช้สกิลนี้เมื่อผู้ใช้ขอให้รีวิว API หรือตรวจสอบโค้ดตามแนวทาง API design…
flutter-accessibility
flutter
ใช้มาตรฐานการเข้าถึง WCAG 2 และ EN 301 549 รวมถึงเลย์เอาต์แบบปรับเปลี่ยนได้ในแอป Flutter บังคับใช้คำอธิบายเชิงความหมาย ขนาดเป้าหมายการแตะ (ขั้นต่ำ 48x48 dp) และอัตราส่วนความคมชัดของข้อความ (4.5:1 สำหรับข้อความขนาดเล็ก, 3:1 สำหรับข้อความขนาดใหญ่) บนแพลตฟอร์มมือถือ เว็บ และเดสก์ท็อป มีตรรกะการตัดสินใจสำหรับการเริ่มต้นความหมายบนเว็บ การห่อวิดเจ็ตแบบโต้ตอบ การสลับเลย์เอาต์ตามขนาดหน้าจอ และการจัดการอินพุตคีย์บอร์ด/เมาส์ รวมถึงการจัดการการนำทางโฟกัสผ่าน FocusTraversalGroup และ...