Renamed to pkg:snippets
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 3af5429..75e7804 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -16,7 +16,7 @@
 pkgs/coverage                   @liamappelbe @dart-lang/dart-native-runtime-team
 pkgs/csslib                     @dart-lang/dart-ecosystem-team #formerly @leonsenft
 pkgs/extension_discovery        @dart-lang/dart-ecosystem-team #tbd
-pkgs/excerpter                  @kevmoo
+pkgs/snippets                   @kevmoo
 pkgs/file                       @dart-lang/dart-ecosystem-team
 pkgs/file_testing               @dart-lang/dart-ecosystem-team
 pkgs/glob                       @dart-lang/dart-ecosystem-team
diff --git a/.github/labeler.yml b/.github/labeler.yml
index 0cc75fa..efbb7d4 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -48,9 +48,9 @@
   - changed-files:
     - any-glob-to-any-file: 'pkgs/extension_discovery/**'
 
-'package:excerpter':
+'package:snippets':
   - changed-files:
-    - any-glob-to-any-file: 'pkgs/excerpter/**'
+    - any-glob-to-any-file: 'pkgs/snippets/**'
 
 'package:file':
   - changed-files:
diff --git a/.github/workflows/excerpter.yaml b/.github/workflows/snippets.yaml
similarity index 78%
rename from .github/workflows/excerpter.yaml
rename to .github/workflows/snippets.yaml
index acb6ba5..f861d1f 100644
--- a/.github/workflows/excerpter.yaml
+++ b/.github/workflows/snippets.yaml
@@ -1,22 +1,22 @@
-name: package:excerpter
+name: package:snippets
 permissions: read-all
 
 on:
   pull_request:
     paths:
-      - '.github/workflows/excerpter.yaml'
-      - 'pkgs/excerpter/**'
+      - '.github/workflows/snippets.yaml'
+      - 'pkgs/snippets/**'
   push:
     branches: [ main ]
     paths:
-      - '.github/workflows/excerpter.yaml'
-      - 'pkgs/excerpter/**'
+      - '.github/workflows/snippets.yaml'
+      - 'pkgs/snippets/**'
   schedule:
     - cron: '0 0 * * 0' # weekly
 
 defaults:
   run:
-    working-directory: pkgs/excerpter
+    working-directory: pkgs/snippets
 
 jobs:
   build:
diff --git a/README.md b/README.md
index fa3f993..acd305b 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,6 @@
 | [coverage](pkgs/coverage/) | Coverage data manipulation and formatting | [![issues](https://img.shields.io/badge/issues-4774bc)][coverage_issues] | [![pub package](https://img.shields.io/pub/v/coverage.svg)](https://pub.dev/packages/coverage) |
 | [csslib](pkgs/csslib/) | A library for parsing and analyzing CSS (Cascading Style Sheets). | [![issues](https://img.shields.io/badge/issues-4774bc)][csslib_issues] | [![pub package](https://img.shields.io/pub/v/csslib.svg)](https://pub.dev/packages/csslib) |
 | [extension_discovery](pkgs/extension_discovery/) | A convention and utilities for package extension discovery. | [![issues](https://img.shields.io/badge/issues-4774bc)][extension_discovery_issues] | [![pub package](https://img.shields.io/pub/v/extension_discovery.svg)](https://pub.dev/packages/extension_discovery) |
-| [excerpter](pkgs/excerpter/) | Update code excerpts in Markdown documentation from source files. | [![issues](https://img.shields.io/badge/issues-4774bc)][excerpter_issues] | [![pub package](https://img.shields.io/pub/v/excerpter.svg)](https://pub.dev/packages/excerpter) |
 | [file](pkgs/file/) | A pluggable, mockable file system abstraction for Dart. | [![issues](https://img.shields.io/badge/issues-4774bc)][file_issues] | [![pub package](https://img.shields.io/pub/v/file.svg)](https://pub.dev/packages/file) |
 | [file_testing](pkgs/file_testing/) | Testing utilities for package:file. | [![issues](https://img.shields.io/badge/issues-4774bc)][file_testing_issues] | [![pub package](https://img.shields.io/pub/v/file_testing.svg)](https://pub.dev/packages/file_testing) |
 | [glob](pkgs/glob/) | A library to perform Bash-style file and directory globbing. | [![issues](https://img.shields.io/badge/issues-4774bc)][glob_issues] | [![pub package](https://img.shields.io/pub/v/glob.svg)](https://pub.dev/packages/glob) |
@@ -42,6 +41,7 @@
 | [process](pkgs/process/) | A pluggable, mockable process invocation abstraction for Dart. | [![issues](https://img.shields.io/badge/issues-4774bc)][process_issues] | [![pub package](https://img.shields.io/pub/v/process.svg)](https://pub.dev/packages/process) |
 | [pub_semver](pkgs/pub_semver/) | Versions and version constraints implementing pub's versioning policy. This is very similar to vanilla semver, with a few corner cases. | [![issues](https://img.shields.io/badge/issues-4774bc)][pub_semver_issues] | [![pub package](https://img.shields.io/pub/v/pub_semver.svg)](https://pub.dev/packages/pub_semver) |
 | [pubspec_parse](pkgs/pubspec_parse/) | Simple package for parsing pubspec.yaml files with a type-safe API and rich error reporting. | [![issues](https://img.shields.io/badge/issues-4774bc)][pubspec_parse_issues] | [![pub package](https://img.shields.io/pub/v/pubspec_parse.svg)](https://pub.dev/packages/pubspec_parse) |
+| [snippets](pkgs/snippets/) | Update code excerpts in Markdown documentation from source files. | [![issues](https://img.shields.io/badge/issues-4774bc)][snippets_issues] | [![pub package](https://img.shields.io/pub/v/snippets.svg)](https://pub.dev/packages/snippets) |
 | [source_map_stack_trace](pkgs/source_map_stack_trace/) | A package for applying source maps to stack traces. | [![issues](https://img.shields.io/badge/issues-4774bc)][source_map_stack_trace_issues] | [![pub package](https://img.shields.io/pub/v/source_map_stack_trace.svg)](https://pub.dev/packages/source_map_stack_trace) |
 | [source_maps](pkgs/source_maps/) | A library to programmatically manipulate source map files. | [![issues](https://img.shields.io/badge/issues-4774bc)][source_maps_issues] | [![pub package](https://img.shields.io/pub/v/source_maps.svg)](https://pub.dev/packages/source_maps) |
 | [source_span](pkgs/source_span/) | Provides a standard representation for source code locations and spans. | [![issues](https://img.shields.io/badge/issues-4774bc)][source_span_issues] | [![pub package](https://img.shields.io/pub/v/source_span.svg)](https://pub.dev/packages/source_span) |
@@ -70,7 +70,6 @@
 [coverage_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Acoverage
 [csslib_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Acsslib
 [extension_discovery_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Aextension_discovery
-[excerpter_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Aexcerpter
 [file_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Afile
 [file_testing_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Afile_testing
 [glob_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Aglob
@@ -86,6 +85,7 @@
 [process_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Aprocess
 [pub_semver_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Apub_semver
 [pubspec_parse_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Apubspec_parse
+[snippets_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Asnippets
 [source_map_stack_trace_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Asource_map_stack_trace
 [source_maps_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Asource_maps
 [source_span_issues]: https://github.com/dart-lang/tools/issues?q=is%3Aissue+is%3Aopen+label%3Apackage%3Asource_span
diff --git a/pkgs/excerpter/.gitignore b/pkgs/snippets/.gitignore
similarity index 100%
rename from pkgs/excerpter/.gitignore
rename to pkgs/snippets/.gitignore
diff --git a/pkgs/excerpter/CHANGELOG.md b/pkgs/snippets/CHANGELOG.md
similarity index 100%
rename from pkgs/excerpter/CHANGELOG.md
rename to pkgs/snippets/CHANGELOG.md
diff --git a/pkgs/excerpter/LICENSE b/pkgs/snippets/LICENSE
similarity index 100%
rename from pkgs/excerpter/LICENSE
rename to pkgs/snippets/LICENSE
diff --git a/pkgs/excerpter/README.md b/pkgs/snippets/README.md
similarity index 98%
rename from pkgs/excerpter/README.md
rename to pkgs/snippets/README.md
index d4d46f4..377436b 100644
--- a/pkgs/excerpter/README.md
+++ b/pkgs/snippets/README.md
@@ -206,7 +206,7 @@
 
 ## Usage as a library
 
-In addition to the CLI, you can use `excerpter` programmatically by importing it as a library:
+In addition to the CLI, you can use `snippets` programmatically by importing it as a library:
 
 <?code-excerpt path-base="example"?>
 <?code-excerpt "main.dart (main)"?>
@@ -233,7 +233,7 @@
 as a library through the `Updater` class, or the CLI.
 
 ```bash
-dart run excerpter [OPTIONS] <file_or_directory>
+dart run snippets [OPTIONS] <file_or_directory>
 ```
 
 | Option              | Description                                                                                                                     |
diff --git a/pkgs/excerpter/analysis_options.yaml b/pkgs/snippets/analysis_options.yaml
similarity index 100%
rename from pkgs/excerpter/analysis_options.yaml
rename to pkgs/snippets/analysis_options.yaml
diff --git a/pkgs/excerpter/bin/excerpter.dart b/pkgs/snippets/bin/snippets.dart
similarity index 93%
rename from pkgs/excerpter/bin/excerpter.dart
rename to pkgs/snippets/bin/snippets.dart
index c04fb6f..2a64a9b 100644
--- a/pkgs/excerpter/bin/excerpter.dart
+++ b/pkgs/snippets/bin/snippets.dart
@@ -5,16 +5,16 @@
 import 'dart:io' as io;
 
 import 'package:args/args.dart';
-import 'package:excerpter/excerpter.dart';
 import 'package:path/path.dart' as path;
+import 'package:snippets/snippets.dart';
 
 void main(final List<String> args) async {
-  await runExcerpter(args);
+  await runSnippets(args);
 }
 
-/// Run the code excerpter with the specified [arguments],
+/// Run the code snippets tool with the specified [arguments],
 /// usually meant to be called from a command-line app.
-Future<void> runExcerpter(final List<String> arguments) async {
+Future<void> runSnippets(final List<String> arguments) async {
   final ArgResults results;
   try {
     results = _argParser.parse(arguments);
@@ -128,7 +128,7 @@
 /// If no [exitCode] is specified, exit with a code of `1`, indicating failure.
 Never _printUsageAndExit({String? message, int exitCode = 1}) {
   if (message != null) print('\n$message\n');
-  print('Usage: excerpter [OPTIONS] file_or_directory\n');
+  print('Usage: snippets [OPTIONS] file_or_directory\n');
   print(_argParser.usage);
   io.exit(exitCode);
 }
diff --git a/pkgs/excerpter/example/main.dart b/pkgs/snippets/example/main.dart
similarity index 94%
rename from pkgs/excerpter/example/main.dart
rename to pkgs/snippets/example/main.dart
index cb2d532..5951ed5 100644
--- a/pkgs/excerpter/example/main.dart
+++ b/pkgs/snippets/example/main.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:excerpter/excerpter.dart';
+import 'package:snippets/snippets.dart';
 
 void main() async {
   // #docregion main
diff --git a/pkgs/excerpter/lib/excerpter.dart b/pkgs/snippets/lib/snippets.dart
similarity index 100%
rename from pkgs/excerpter/lib/excerpter.dart
rename to pkgs/snippets/lib/snippets.dart
diff --git a/pkgs/excerpter/lib/src/extract.dart b/pkgs/snippets/lib/src/extract.dart
similarity index 100%
rename from pkgs/excerpter/lib/src/extract.dart
rename to pkgs/snippets/lib/src/extract.dart
diff --git a/pkgs/excerpter/lib/src/inject.dart b/pkgs/snippets/lib/src/inject.dart
similarity index 100%
rename from pkgs/excerpter/lib/src/inject.dart
rename to pkgs/snippets/lib/src/inject.dart
diff --git a/pkgs/excerpter/lib/src/transform.dart b/pkgs/snippets/lib/src/transform.dart
similarity index 100%
rename from pkgs/excerpter/lib/src/transform.dart
rename to pkgs/snippets/lib/src/transform.dart
diff --git a/pkgs/excerpter/lib/src/update.dart b/pkgs/snippets/lib/src/update.dart
similarity index 100%
rename from pkgs/excerpter/lib/src/update.dart
rename to pkgs/snippets/lib/src/update.dart
diff --git a/pkgs/excerpter/pubspec.yaml b/pkgs/snippets/pubspec.yaml
similarity index 89%
rename from pkgs/excerpter/pubspec.yaml
rename to pkgs/snippets/pubspec.yaml
index cbcae53..4a399c6 100644
--- a/pkgs/excerpter/pubspec.yaml
+++ b/pkgs/snippets/pubspec.yaml
@@ -1,4 +1,4 @@
-name: excerpter
+name: snippets
 description: Update code excerpts in Markdown documentation from source files.
 version: 0.1.0-wip
 
@@ -19,4 +19,4 @@
   test_descriptor: ^2.0.0
 
 executables:
-  excerpter: excerpter
+  snippets: snippets
diff --git a/pkgs/excerpter/test/cli_test.dart b/pkgs/snippets/test/cli_test.dart
similarity index 82%
rename from pkgs/excerpter/test/cli_test.dart
rename to pkgs/snippets/test/cli_test.dart
index 8f269c9..98d23e3 100644
--- a/pkgs/excerpter/test/cli_test.dart
+++ b/pkgs/snippets/test/cli_test.dart
@@ -8,13 +8,10 @@
 import 'package:test/test.dart';
 
 void main() {
-  final excerpterPath = path.join('bin', 'excerpter.dart');
+  final snippetsPath = path.join('bin', 'snippets.dart');
 
   test('no args', () {
-    final process = Process.runSync(Platform.executable, [
-      'run',
-      excerpterPath,
-    ]);
+    final process = Process.runSync(Platform.executable, ['run', snippetsPath]);
 
     expect(process.exitCode, equals(1));
   });
@@ -22,7 +19,7 @@
   test('invalid format', () {
     final process = Process.runSync(Platform.executable, [
       'run',
-      excerpterPath,
+      snippetsPath,
       '-f-23-423-4',
     ]);
 
@@ -30,10 +27,7 @@
   });
 
   test('options in README.md are in sync with CLI', () {
-    final process = Process.runSync(Platform.executable, [
-      'run',
-      excerpterPath,
-    ]);
+    final process = Process.runSync(Platform.executable, ['run', snippetsPath]);
 
     final stdout = process.stdout as String;
     // Extract option names from CLI output (e.g. --dry-run)
diff --git a/pkgs/excerpter/test/extractor_test.dart b/pkgs/snippets/test/extractor_test.dart
similarity index 99%
rename from pkgs/excerpter/test/extractor_test.dart
rename to pkgs/snippets/test/extractor_test.dart
index 28ea8bb..1138ccc 100644
--- a/pkgs/excerpter/test/extractor_test.dart
+++ b/pkgs/snippets/test/extractor_test.dart
@@ -2,8 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:excerpter/src/extract.dart';
 import 'package:path/path.dart' as path;
+import 'package:snippets/src/extract.dart';
 import 'package:test/test.dart';
 import 'package:test_descriptor/test_descriptor.dart' as d;
 
diff --git a/pkgs/excerpter/test/injection_test.dart b/pkgs/snippets/test/injection_test.dart
similarity index 99%
rename from pkgs/excerpter/test/injection_test.dart
rename to pkgs/snippets/test/injection_test.dart
index 7eb000a..97fad2c 100644
--- a/pkgs/excerpter/test/injection_test.dart
+++ b/pkgs/snippets/test/injection_test.dart
@@ -2,9 +2,9 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:excerpter/excerpter.dart';
-import 'package:excerpter/src/inject.dart';
 import 'package:path/path.dart' as path;
+import 'package:snippets/snippets.dart';
+import 'package:snippets/src/inject.dart';
 import 'package:test/test.dart';
 import 'package:test_descriptor/test_descriptor.dart' as d;
 
diff --git a/pkgs/excerpter/test/transform_test.dart b/pkgs/snippets/test/transform_test.dart
similarity index 99%
rename from pkgs/excerpter/test/transform_test.dart
rename to pkgs/snippets/test/transform_test.dart
index e15a425..ffc9396 100644
--- a/pkgs/excerpter/test/transform_test.dart
+++ b/pkgs/snippets/test/transform_test.dart
@@ -2,7 +2,7 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-import 'package:excerpter/excerpter.dart';
+import 'package:snippets/snippets.dart';
 import 'package:test/test.dart';
 
 void main() {
diff --git a/pkgs/excerpter/test/updater_test.dart b/pkgs/snippets/test/updater_test.dart
similarity index 97%
rename from pkgs/excerpter/test/updater_test.dart
rename to pkgs/snippets/test/updater_test.dart
index f2d3cf0..2579497 100644
--- a/pkgs/excerpter/test/updater_test.dart
+++ b/pkgs/snippets/test/updater_test.dart
@@ -4,9 +4,9 @@
 
 import 'dart:io';
 
-import 'package:excerpter/excerpter.dart';
 import 'package:io/io.dart';
 import 'package:path/path.dart' as path;
+import 'package:snippets/snippets.dart';
 import 'package:test/test.dart';
 import 'package:test_descriptor/test_descriptor.dart' as d;
 
diff --git a/pkgs/excerpter/test_data/example/dartdoc.dart b/pkgs/snippets/test_data/example/dartdoc.dart
similarity index 100%
rename from pkgs/excerpter/test_data/example/dartdoc.dart
rename to pkgs/snippets/test_data/example/dartdoc.dart
diff --git a/pkgs/excerpter/test_data/example/plaster.dart b/pkgs/snippets/test_data/example/plaster.dart
similarity index 100%
rename from pkgs/excerpter/test_data/example/plaster.dart
rename to pkgs/snippets/test_data/example/plaster.dart
diff --git a/pkgs/excerpter/test_data/example/simple_main.dart b/pkgs/snippets/test_data/example/simple_main.dart
similarity index 100%
rename from pkgs/excerpter/test_data/example/simple_main.dart
rename to pkgs/snippets/test_data/example/simple_main.dart
diff --git a/pkgs/excerpter/test_data/example/simple_region.dart b/pkgs/snippets/test_data/example/simple_region.dart
similarity index 100%
rename from pkgs/excerpter/test_data/example/simple_region.dart
rename to pkgs/snippets/test_data/example/simple_region.dart
diff --git a/pkgs/excerpter/test_data/example/transforms.dart b/pkgs/snippets/test_data/example/transforms.dart
similarity index 100%
rename from pkgs/excerpter/test_data/example/transforms.dart
rename to pkgs/snippets/test_data/example/transforms.dart
diff --git a/pkgs/excerpter/test_data/expected/dartdoc.md b/pkgs/snippets/test_data/expected/dartdoc.md
similarity index 100%
rename from pkgs/excerpter/test_data/expected/dartdoc.md
rename to pkgs/snippets/test_data/expected/dartdoc.md
diff --git a/pkgs/excerpter/test_data/expected/plaster.md b/pkgs/snippets/test_data/expected/plaster.md
similarity index 100%
rename from pkgs/excerpter/test_data/expected/plaster.md
rename to pkgs/snippets/test_data/expected/plaster.md
diff --git a/pkgs/excerpter/test_data/expected/simple.md b/pkgs/snippets/test_data/expected/simple.md
similarity index 100%
rename from pkgs/excerpter/test_data/expected/simple.md
rename to pkgs/snippets/test_data/expected/simple.md
diff --git a/pkgs/excerpter/test_data/expected/transforms.md b/pkgs/snippets/test_data/expected/transforms.md
similarity index 100%
rename from pkgs/excerpter/test_data/expected/transforms.md
rename to pkgs/snippets/test_data/expected/transforms.md
diff --git a/pkgs/excerpter/test_data/src/dartdoc.md b/pkgs/snippets/test_data/src/dartdoc.md
similarity index 100%
rename from pkgs/excerpter/test_data/src/dartdoc.md
rename to pkgs/snippets/test_data/src/dartdoc.md
diff --git a/pkgs/excerpter/test_data/src/plaster.md b/pkgs/snippets/test_data/src/plaster.md
similarity index 100%
rename from pkgs/excerpter/test_data/src/plaster.md
rename to pkgs/snippets/test_data/src/plaster.md
diff --git a/pkgs/excerpter/test_data/src/simple.md b/pkgs/snippets/test_data/src/simple.md
similarity index 100%
rename from pkgs/excerpter/test_data/src/simple.md
rename to pkgs/snippets/test_data/src/simple.md
diff --git a/pkgs/excerpter/test_data/src/transforms.md b/pkgs/snippets/test_data/src/transforms.md
similarity index 100%
rename from pkgs/excerpter/test_data/src/transforms.md
rename to pkgs/snippets/test_data/src/transforms.md