スキル一覧に戻る
AVRA-CADAVRA

import-organization

by AVRA-CADAVRA

0🍴 0📅 2026年1月24日
GitHubで見るManusで実行

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:

  1. Dart SDK imports (dart:...)
  2. Flutter imports (package:flutter/...)
  3. Package imports (package:...)
  4. 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

レビュー

💬

レビュー機能は近日公開予定です