Skip to content

fix(features): keep resources and behaviors apart, detect VS Code extensions - #125

Merged
itsflaid merged 2 commits into
mainfrom
feature-detection-capabilities
Oct 25, 2026
Merged

itsflaid merged 2 commits into
mainfrom
feature-detection-capabilities

Conversation

@itsflaid

@itsflaid itsflaid commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

What

Second real-app check of 0.8.2, on itsflaid/devnote (Next.js monorepo: web app, API, VS Code extension).

Found

  • the central Snippet and Collection features were swallowed by a feature called Share (18 files, entry api/collections/route.ts): behavioral capabilities (Content Sharing, Publishing, Public Discovery, Social Interactions) touch the same /api/snippets/... routes and glued everything together by route resource
  • a CRUD capability (Snippet Management) could be pulled into the Collection entity first through a shared route, which then blocked it from ever merging with its own Snippet entity (order-dependent)
  • the VS Code extension (apps/extension) was not a feature

Fix

  • behavioral capabilities merge only by shared entity or the same name
  • CRUD capabilities carry their entity identity, so they cannot be bridged into another resource
  • new VS Code Extension feature from files that import vscode

devnote now lists Snippet Management (12 files, entry api/snippets/route.ts), Collection Management, Workspace (22), Share, Explore, Dashboard, the behaviors as their own features, and VS Code Extension.

Also in this PR

  • in an API with 10 or more routes, a read-only resource with a single file (GET /api/sidebar, /api/saved, /api/user-stats) is no longer a one-file "Management" feature; a small API keeps it
  • resources written with a dash or underscore are named like models (user-stats is UserStat, no more "User-stat Management")

devnote went from 28 to 25 features with nothing real lost.

Verification

  • pnpm test: 422 pass (3 new feature-candidates tests, 3 new audit tests; 4 existing tests relabeled from "X Operations" to "X Management" because only CRUD capabilities define a resource)
  • feature output of 30 repos diffed before and after (two small additions: Post Management in hono-examples, Token Management in koa-examples, both previously absorbed)

https://claude.ai/code/session_019HJc4sv9pSLh7vhduSUxBE


Generated by Claude Code

…ensions

Found by running 0.8.2 on a snippet manager (itsflaid/devnote): Snippet and
Collection were swallowed by a "Share" feature through behavioral
capabilities (sharing, publishing, discovery, social) that touch the same
routes, and the VS Code extension was not a feature at all.

- behavioral capabilities merge only by shared entity or the same name
- CRUD capabilities carry entity identity, so they cannot be bridged into
  another resource
- VS Code Extension feature from files that import `vscode`
- tests

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019HJc4sv9pSLh7vhduSUxBE
@vercel

vercel Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
devmap-web Ready Ready Preview Oct 25, 2026 7:21am UTC

@github-actions

Copy link
Copy Markdown

✅ Welcome ke DevMap!

Terima kasih sudah buat PR. Pastikan checklist ini terpenuhi sebelum review:

  • devmap doctor lolos (tanpa error)
  • Test pnpm test:cli lolos (semua pass)
  • New commands diupdate di docs/commands.md
  • Tidak ada console.log di command files
  • Registry terms sesuai standar (baca docs/guide/05-signal-registry.md)
  • Code style match dengan CONTRIBUTING.md

CI akan jalan otomatis pada setiap update. Kalau gagal, akan muncul link run di komentar ini.

Kalau DevMap membantu, tolong star ya: https://github.com/itsflaid/devmap

Terima kasih kontribusinya! 🙏

…b resources

From the same devnote check: /api/sidebar, /api/saved and /api/user-stats each
became a one-file "Management" feature, and user-stats showed up as
"User-stat Management" next to "User Management".

- in an API with 10+ routes, a read-only resource with a single file is not
  a capability or a route-hint entity
- `user-stats` resolves to UserStat (matches a model of that name)
- tests

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019HJc4sv9pSLh7vhduSUxBE
@itsflaid
itsflaid merged commit 5f9fb1b into main Oct 25, 2026
2 checks passed
@itsflaid
itsflaid deleted the feature-detection-capabilities branch October 25, 2026 14:40

This branch was successfully deployed

1 active deployment
Preview — c3e6665e Deployed Oct 25, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants