-
Notifications
You must be signed in to change notification settings - Fork 0
refactor: move registry item installation to the core #184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
ed71876
1cc58bc
1fb5885
c0c7a0e
43f2e1f
a2a1c67
b3d6325
6e1eee5
34ff17b
1460b56
3a1d9f3
135f394
8f76b1b
705af4b
1e89331
d611666
c052d05
ff6cdb9
ac87714
ac0b0bd
3b5eba1
0e601d9
7fb6592
5e3fcf4
952fe3d
fae8693
2968c17
f63ab7e
f0d190c
913c5db
bca3d08
cee9320
5849375
4ed2b4f
e52b672
545b85b
531eff1
3572442
762db67
eb6dd5d
be8ef3e
202a9eb
51ff0de
2ceaaf0
7e68290
0d2167c
4680ee5
5ffe083
190bf88
63d93ac
c5745b3
34428cf
0051b30
297fb94
ecc3d9f
3383c84
c637ed4
fca056a
404547e
fdb8773
55b0579
697ba8c
79b7543
af64fd5
5fd2689
184011f
1d0c92a
38c2d3c
43bb02f
ced4434
1970010
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| --- | ||
| "@calycode/core": minor | ||
| "@calycode/cli": minor | ||
| --- | ||
|
|
||
| feat: include OpenCode AI agentic tooling into the CLI |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| --- | ||
| "@repo/types": patch | ||
| "@calycode/core": patch | ||
| "@calycode/cli": patch | ||
| --- | ||
|
|
||
| chore: move the registry item installation into the core |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| --- | ||
| "@calycode/xano-skills": minor | ||
| "@calycode/cli": minor | ||
| --- | ||
|
|
||
| feat: initial skills setup for the @calycode/cli |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@calycode/cli": patch | ||
| --- | ||
|
|
||
| chore: styling revamp of the help commands |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| --- | ||
| "@repo/types": patch | ||
| "@calycode/core": patch | ||
| "@calycode/cli": patch | ||
| --- | ||
|
|
||
| chore: updates to testing, to have robust env support, and better documentation | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@calycode/cli": patch | ||
| --- | ||
|
|
||
| fix: have graceful exit when no component is selected from registry |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@calycode/cli": minor | ||
| --- | ||
|
|
||
| feat: load specialized Xano-related agents / templates from remote source to the oc config and use that, without polluting the global oc setup |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| --- | ||
| "@calycode/cli": patch | ||
| --- | ||
|
|
||
| feat: add first draft of Skills for the CLI |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -52,5 +52,127 @@ This project provides a suite of tools to improve developer experience with Xano | |||||||||||||||||||||
|
|
||||||||||||||||||||||
| --- | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ## Build, Lint, and Test Commands | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Build Commands | ||||||||||||||||||||||
| - **Full build**: `pnpm build` - Builds all packages using TurboRepo | ||||||||||||||||||||||
| - **Clean build**: `pnpm clean && pnpm build` - Clean and rebuild everything | ||||||||||||||||||||||
| - **Documentation build**: `pnpm build:docs` - Build docs and CLI reference | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Test Commands | ||||||||||||||||||||||
| - **All tests**: `pnpm test` - Run all tests across packages | ||||||||||||||||||||||
| - **Watch mode**: `pnpm test:watch` - Run tests in watch mode | ||||||||||||||||||||||
| - **Coverage**: `pnpm test:coverage` - Run tests with coverage reporting | ||||||||||||||||||||||
| - **Single test file**: `pnpm test <path-to-test-file>` - Run specific test file | ||||||||||||||||||||||
| - **Test pattern**: `pnpm test -- --testNamePattern="pattern"` - Run tests matching pattern | ||||||||||||||||||||||
| - **Single package tests**: `cd packages/<package> && pnpm test` - Run tests for specific package | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Lint Commands | ||||||||||||||||||||||
| - **Lint all**: `pnpm lint` - Run ESLint across all packages | ||||||||||||||||||||||
| - **Lint single package**: `cd packages/<package> && pnpm lint` - Lint specific package | ||||||||||||||||||||||
| - **Auto-fix**: `pnpm lint --fix` - Auto-fix linting issues where possible | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Type Check Commands | ||||||||||||||||||||||
| - **Type check all**: `turbo run build` - TypeScript compilation checks types | ||||||||||||||||||||||
| - **Type check single package**: `cd packages/<package> && pnpm build` - Check types for package | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ## Code Style Guidelines | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Language and Environment | ||||||||||||||||||||||
| - **TypeScript**: Strict mode disabled (`strict: false`) but with recommended rules | ||||||||||||||||||||||
| - **Target**: ES2020 modules | ||||||||||||||||||||||
| - **Module resolution**: Bundler mode | ||||||||||||||||||||||
| - **Node.js**: >= 18.0.0 required | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Imports and Dependencies | ||||||||||||||||||||||
| - **Import order**: Group by builtin → external → internal (enforced by ESLint) | ||||||||||||||||||||||
| - **Import extensions**: Never use extensions for `.ts`/`.tsx` files (ESLint enforced) | ||||||||||||||||||||||
| - **Workspace imports**: Use `@repo/types`, `@repo/utils` for internal packages | ||||||||||||||||||||||
| - **No unresolved imports**: All imports must resolve (ESLint error) | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Naming Conventions | ||||||||||||||||||||||
| - **Variables/Functions**: camelCase | ||||||||||||||||||||||
| - **Classes/Types/Interfaces**: PascalCase | ||||||||||||||||||||||
| - **Constants**: UPPER_SNAKE_CASE | ||||||||||||||||||||||
| - **Files**: kebab-case for directories, camelCase for files | ||||||||||||||||||||||
| - **API Groups**: Normalized using kebab-case with special characters removed | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Code Formatting | ||||||||||||||||||||||
| - **No Prettier config**: Use default Prettier formatting | ||||||||||||||||||||||
| - **Line endings**: LF (Unix) | ||||||||||||||||||||||
| - **Indentation**: 3 spaces (default Prettier) | ||||||||||||||||||||||
| - **Quotes**: Single quotes preferred (default Prettier) | ||||||||||||||||||||||
| - **Semicolons**: Required (default Prettier) | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### TypeScript Specific | ||||||||||||||||||||||
| - **Explicit types**: Prefer explicit typing over `any` | ||||||||||||||||||||||
| - **Avoid `any`**: Warn level ESLint rule for `@typescript-eslint/no-explicit-any` | ||||||||||||||||||||||
| - **Unused variables**: Warn level ESLint rule | ||||||||||||||||||||||
| - **Interface vs Type**: Use interfaces for object shapes, types for unions/aliases | ||||||||||||||||||||||
| - **Generic constraints**: Use extends for generic constraints | ||||||||||||||||||||||
| - **Optional properties**: Use `?:` for optional properties | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Error Handling | ||||||||||||||||||||||
| - **Try/catch blocks**: Use for async operations | ||||||||||||||||||||||
| - **Error messages**: Provide clear, actionable error messages | ||||||||||||||||||||||
| - **Graceful exits**: Use `withErrorHandler` utility for CLI commands | ||||||||||||||||||||||
| - **Process signals**: Handle SIGINT/SIGTERM for clean shutdowns | ||||||||||||||||||||||
| - **Logging**: Use `@clack/prompts` for user-facing messages | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Documentation | ||||||||||||||||||||||
| - **JSDoc comments**: Required for public APIs and complex functions | ||||||||||||||||||||||
| - **Example usage**: Include in JSDoc for CLI methods | ||||||||||||||||||||||
| - **Parameter descriptions**: Document all parameters with types | ||||||||||||||||||||||
| - **Return types**: Document return values and their structure | ||||||||||||||||||||||
| - **TODO comments**: Use `// [ ] TODO:` format for future work | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### File Organization | ||||||||||||||||||||||
| - **Barrel exports**: Use `index.ts` files for clean imports | ||||||||||||||||||||||
| - **Feature grouping**: Group related functionality in feature directories | ||||||||||||||||||||||
| - **Separation of concerns**: CLI, core logic, types, and utilities in separate packages | ||||||||||||||||||||||
| - **Implementation files**: Keep business logic separate from CLI interfaces | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Testing | ||||||||||||||||||||||
| - **Test framework**: Jest with ts-jest transformer | ||||||||||||||||||||||
| - **Test files**: `.test.ts` or `.spec.ts` extension | ||||||||||||||||||||||
| - **Test configuration**: JSON-based config files for API testing | ||||||||||||||||||||||
| - **Test environment**: Node.js environment | ||||||||||||||||||||||
| - **Coverage**: Use `jest-html-reporter` for HTML coverage reports | ||||||||||||||||||||||
|
Comment on lines
+136
to
+140
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Update outdated statement about test files. Line 137 states "currently no test files exist", but this PR adds test files (e.g., Suggested fix-- **Test files**: `.test.ts` extension (currently no test files exist)
+- **Test files**: `.test.ts` or `.spec.ts` extension📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. TODO: update test-related comments / documentation
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
🧠 Learnings used |
||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Security | ||||||||||||||||||||||
| - **Secrets handling**: Never commit API keys or tokens | ||||||||||||||||||||||
| - **Environment variables**: Use `XANO_*` prefix for test environment variables | ||||||||||||||||||||||
| - **Token storage**: Secure storage implementation required | ||||||||||||||||||||||
| - **Input validation**: Validate all user inputs and API responses | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Performance | ||||||||||||||||||||||
| - **Bundle optimization**: Use esbuild for fast builds | ||||||||||||||||||||||
| - **Tree shaking**: Enabled through Rollup configuration | ||||||||||||||||||||||
| - **Lazy loading**: Consider for large features | ||||||||||||||||||||||
| - **Memory management**: Clean up event listeners and resources | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Git and Version Control | ||||||||||||||||||||||
| - **Commit messages**: Follow conventional commit format | ||||||||||||||||||||||
| - **Branching**: Feature branches for development | ||||||||||||||||||||||
| - **PR reviews**: Required for all changes | ||||||||||||||||||||||
| - **CI/CD**: Automated testing and building on PRs | ||||||||||||||||||||||
| - **Versioning**: Changesets for semantic versioning | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ## IDE and Editor Configuration | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### VS Code Extensions (Recommended) | ||||||||||||||||||||||
| - TypeScript and JavaScript Language Features | ||||||||||||||||||||||
| - ESLint | ||||||||||||||||||||||
| - Prettier - Code formatter | ||||||||||||||||||||||
| - PNPM workspace support | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Cursor Rules | ||||||||||||||||||||||
| No specific Cursor rules found in `.cursor/` or `.cursorrules`. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| ### Copilot Instructions | ||||||||||||||||||||||
| No Copilot instructions found in `.github/copilot-instructions.md`. | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| --- | ||||||||||||||||||||||
|
|
||||||||||||||||||||||
| - See also `docs/README.md` and `docs/commands` for command reference. | ||||||||||||||||||||||
| - Key configuration in `.changeset/`, `schemas/registry/`, and package-level config files. | ||||||||||||||||||||||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changeset description doesn't match PR objectives.
The description states "chore: updates to testing, to have robust env support, and better documentation", but the PR title is "refactor: move registry item installation to the core". The description should accurately reflect the primary changes: moving registry installation logic from CLI to core, introducing new registry APIs, and refactoring the CLI to delegate to core.
📝 Suggested description rewrite
📝 Committable suggestion
🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
@MihalyToth20Good plan! I can help you review the commit messages to identify what changesets should be created. Let me gather the commit history from this PR.🏁 Script executed:
Length of output: 413
🏁 Script executed:
Length of output: 7658
🏁 Script executed:
Length of output: 1207
@MihalyToth20Great! I've analyzed the commits and existing changesets. Here's what I found:📊 Current Coverage Analysis
Covered by existing changesets:
forty-phones-rhyme.md(correctly describes the PR title)dull-facts-lose.mdlarge-bugs-drop.md+ten-regions-switch.mdlight-crabs-march.mdplain-ways-fall.mdspicy-bags-guess.mdloose-pandas-hide.md(needs better description)❌ Missing changeset:
@calycode/browser-consumer) - This is a new package with significant changes but no changeset!🔧 Recommended Actions
1. Create new changeset for browser-consumer
The new
packages/browser-consumer/package (IndexedDB config storage for browser extensions) needs its own changeset:2. Update
loose-pandas-hide.mddescriptionReplace the generic description with something more specific:
3. Consider consolidating skills changesets
You have two skills-related changesets (
large-bugs-drop.mdandten-regions-switch.md). Consider whether these should be one changeset or if they represent distinct features.Would you like me to help draft the complete updated changeset files?