|
42 | 42 | - [x] T012 Implement resource descriptor ↔ ARM URI mapping in src/lib/resource-uri.ts (builds full ARM URL from ApimServiceContext + ResourceDescriptor, including workspace prefix) |
43 | 43 | - [x] T013 Implement resource descriptor ↔ artifact file path mapping in src/lib/resource-path.ts (maps descriptor to directory/file paths per data-model.md artifact conventions) |
44 | 44 | - [x] T014 [P] Implement structured logger in src/lib/logger.ts (stderr output, timestamps, log levels, --verbose support per FR-023/FR-026) |
45 | | -- [x] T015 [P] Implement YAML config loader in src/lib/config-loader.ts (parse filter YAML, override YAML, OTel config with js-yaml; validate against FilterConfig/OverrideConfig schemas) |
| 45 | +- [x] T015 [P] Implement YAML config loader in src/lib/config-loader.ts (parse filter YAML, override YAML with js-yaml; validate against FilterConfig/OverrideConfig schemas) |
46 | 46 | - [x] T016 Implement Azure REST HTTP client in src/clients/apim-client.ts (implements IApimClient: DefaultAzureCredential auth, nextLink pagination, Retry-After/429 handling, exponential backoff, provisioningState polling per research.md R1) |
47 | 47 | - [x] T017 Implement filesystem artifact store in src/clients/artifact-store.ts (implements IArtifactStore: read/write resource JSON, policy XML, API specs, association files, wiki markdown; UTF-8 encoding; directory creation per contracts/iartifact-store.md) |
48 | 48 | - [x] T018 [P] Implement parallel execution runner in src/lib/parallel-runner.ts (p-limit based concurrency control, Promise.allSettled, configurable concurrency per research.md R8) |
49 | | -- [x] T019 Set up Commander program entry point in src/cli/index.ts (program name, version, global options --verbose/--otel/--format/--subscription-id/--cloud, subcommand registration pattern per FR-018) |
| 49 | +- [x] T019 Set up Commander program entry point in src/cli/index.ts (program name, version, global options --verbose/--format/--subscription-id/--cloud, subcommand registration pattern per FR-018) |
50 | 50 |
|
51 | 51 | **Checkpoint**: Foundation ready — user story implementation can now begin |
52 | 52 |
|
|
145 | 145 | ### Implementation for User Story 5 |
146 | 146 |
|
147 | 147 | - [ ] T052 [US5] Implement command auto-discovery in src/cli/index.ts (scan src/cli/*-command.ts files or use explicit registration array; new commands appear in --help automatically per FR-018/SC-007) |
148 | | -- [ ] T053 [US5] Extract shared command infrastructure in src/cli/shared.ts (common option builders for --resource-group/--service-name/--subscription-id/--verbose/--otel; shared APIM client factory; shared artifact store factory) |
| 148 | +- [ ] T053 [US5] Extract shared command infrastructure in src/cli/shared.ts (common option builders for --resource-group/--service-name/--subscription-id/--verbose; shared APIM client factory; shared artifact store factory) |
149 | 149 | - [ ] T054 [US5] Create command developer guide in src/cli/README.md (document how to add a new command: file naming, interface shape, option reuse, testing pattern) |
150 | 150 |
|
151 | 151 | **Checkpoint**: Adding a new command requires only creating one file in src/cli/ |
|
156 | 156 |
|
157 | 157 | **Purpose**: Improvements that affect multiple user stories |
158 | 158 |
|
159 | | -- [ ] T055 [P] Implement OTel integration in src/lib/otel-setup.ts (load --otel config YAML, initialize NodeSDK with OTLP exporter, create spans per resource type/resource, metrics for counts/duration per research.md R9) |
160 | 159 | - [ ] T056 [P] Add --api-version global flag support in src/cli/index.ts and src/clients/apim-client.ts (override default 2024-05-01 per FR-012) |
161 | 160 | - [ ] T058 Run quickstart.md validation (execute each quickstart command against a test APIM instance, verify expected outputs) |
162 | 161 | - [ ] T059 Add bin entry to package.json and shebang to src/cli/index.ts for global npm install (`npx apiops` / `npm install -g`) |
@@ -247,4 +246,4 @@ T029: JSON output mode → src/cli/extract-command.ts |
247 | 246 | 4. Add US3 (CI/CD) → Test in GitHub Actions pipeline |
248 | 247 | 5. Add US4 (Init) → Test scaffold generation in empty repo |
249 | 248 | 6. Add US5 (Extensibility) → Verify new command pattern |
250 | | -7. Polish → OTel, quickstart validation |
| 249 | +7. Polish → quickstart validation |
0 commit comments