← スキル一覧に戻る

import-organization
by AVRA-CADAVRA
⭐ 0🍴 0📅 2026年1月24日
SKILL.md
name: import-organization description: Enforces import grouping (Dart SDK → Flutter → packages → relative), alphabetical order, unused import removal. Use when writing or reviewing code to ensure consistent import organization.
Import Organization
Mandatory Order
Group imports in this exact order:
- Dart SDK imports (
dart:...) - Flutter imports (
package:flutter/...) - Package imports (
package:...) - Relative imports (
../...)
Use alphabetical ordering within each group Separate groups with blank line
Pattern
// ✅ GOOD
import 'dart:async';
import 'dart:convert';
import 'dart:developer' as developer;
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:avrai/core/models/user.dart';
import 'package:avrai/core/services/auth_service.dart';
import 'package:avrai/core/theme/colors.dart';
import '../widgets/custom_button.dart';
import '../widgets/custom_text_field.dart';
Grouping Rules
Group 1: Dart SDK
import 'dart:async';
import 'dart:convert';
import 'dart:developer' as developer;
import 'dart:io';
Group 2: Flutter
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
Group 3: Packages (Alphabetical)
import 'package:avrai/core/models/user.dart';
import 'package:avrai/core/services/auth_service.dart';
import 'package:avrai/presentation/pages/home_page.dart';
import 'package:equatable/equatable.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
Group 4: Relative (Alphabetical)
import '../widgets/custom_button.dart';
import '../widgets/custom_text_field.dart';
import '../../core/models/spot.dart';
Alphabetical Ordering
Within each group, sort alphabetically:
// ✅ GOOD: Alphabetical
import 'dart:async';
import 'dart:convert';
import 'dart:developer';
// ❌ BAD: Not alphabetical
import 'dart:convert';
import 'dart:async';
import 'dart:developer';
Blank Line Separation
Separate groups with blank line:
// ✅ GOOD: Blank lines between groups
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:avrai/core/models/user.dart';
import '../widgets/button.dart';
// ❌ BAD: No blank lines
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:avrai/core/models/user.dart';
Import Aliases
Use aliases when needed:
import 'dart:developer' as developer;
import 'package:avrai/core/theme/colors.dart' as theme;
Remove Unused Imports
Always remove unused imports (automatically handled by cleanup philosophy):
// ❌ BAD: Unused import
import 'package:unused_package/unused.dart'; // Remove this
class MyClass {
// Doesn't use unused_package
}
Exceptions
Show/Hide Imports
When using show or hide, keep with the main import:
import 'package:avrai/core/services/storage_service.dart'
show StorageService, StorageError;
Conditional Imports
Keep conditional imports together:
import 'package:avrai/core/platform/file_stub.dart'
if (dart.library.io) 'package:avrai/core/platform/file_io.dart'
if (dart.library.html) 'package:avrai/core/platform/file_web.dart';
Tools
- Dart formatter - Automatically organizes imports
- IDE - Most IDEs can organize imports automatically
- Pre-commit hooks - Can enforce import organization
Checklist
Before committing:
- Imports grouped correctly (Dart → Flutter → Packages → Relative)
- Imports alphabetically ordered within groups
- Blank lines between groups
- No unused imports
- Import aliases used when needed
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です