Skip to content

Commit 7fbad8e

Browse files
committed
chore: initial commit 🤖📦
Signed-off-by: Yordis Prieto <yordis.prieto@gmail.com>
0 parents  commit 7fbad8e

File tree

88 files changed

+13945
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+13945
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"plugins": {}
3+
}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
name: Bug Report
3+
about: Create a report to help us improve
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## Bug Description
10+
11+
<!-- A clear and concise description of what the bug is -->
12+
13+
## Steps to Reproduce
14+
15+
1. Run command '...'
16+
2. See error '...'
17+
3. Expected behavior '...'
18+
19+
## Expected Behavior
20+
21+
<!-- What you expected to happen -->
22+
23+
## Actual Behavior
24+
25+
<!-- What actually happened -->
26+
27+
## Environment
28+
29+
- OS: [e.g., macOS 13.0, Ubuntu 22.04, Windows 11]
30+
- aipm version: [run `aipm --version`]
31+
- Installation method: [npm, binary, source]
32+
- Shell: [e.g., bash, zsh, fish]
33+
- Bun version (if applicable): [run `bun --version`]
34+
35+
## Configuration
36+
37+
<!-- Share relevant parts of your .cursor/plugins.json (remove sensitive data) -->
38+
39+
```json
40+
{
41+
"marketplaces": {
42+
// ...
43+
}
44+
}
45+
```
46+
47+
## Error Messages
48+
49+
<!-- Paste any error messages or logs -->
50+
51+
```
52+
Error message here
53+
```
54+
55+
## Additional Context
56+
57+
<!-- Add any other context about the problem here -->
58+
59+
## Possible Solution
60+
61+
<!-- Optional: suggest a fix or reason for the bug -->
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for this project
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## Feature Description
10+
11+
<!-- A clear and concise description of the feature you'd like -->
12+
13+
## Problem Statement
14+
15+
<!-- What problem does this feature solve? -->
16+
17+
## Proposed Solution
18+
19+
<!-- Describe how you envision this feature working -->
20+
21+
## Example Usage
22+
23+
<!-- Show how users would interact with this feature -->
24+
25+
```bash
26+
# Example command or workflow
27+
aipm <new-command> --option value
28+
```
29+
30+
## Alternatives Considered
31+
32+
<!-- Describe alternative solutions or features you've considered -->
33+
34+
## Additional Context
35+
36+
<!-- Add any other context, mockups, or examples about the feature request -->
37+
38+
## Benefits
39+
40+
<!-- How would this feature benefit the project and its users? -->
41+
42+
- [ ] Improves user experience
43+
- [ ] Adds missing functionality
44+
- [ ] Improves performance
45+
- [ ] Better error handling
46+
- [ ] Other: ___
47+
48+
## Willing to Contribute
49+
50+
<!-- Are you willing to work on this feature? -->
51+
52+
- [ ] Yes, I can submit a PR for this
53+
- [ ] I need guidance to implement this
54+
- [ ] I can help with testing
55+
- [ ] Just suggesting, can't contribute code
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
## Description
2+
3+
<!-- Describe your changes in detail -->
4+
5+
## Type of Change
6+
7+
<!-- Mark the relevant option with an "x" -->
8+
9+
- [ ] Bug fix (non-breaking change which fixes an issue)
10+
- [ ] New feature (non-breaking change which adds functionality)
11+
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
12+
- [ ] Documentation update
13+
- [ ] Refactoring (no functional changes)
14+
- [ ] Performance improvement
15+
- [ ] Test addition or modification
16+
17+
## Checklist
18+
19+
- [ ] My code follows the code style of this project (ran `bun run format`)
20+
- [ ] I have performed a self-review of my code
21+
- [ ] I have commented my code, particularly in hard-to-understand areas
22+
- [ ] I have made corresponding changes to the documentation
23+
- [ ] My changes generate no new warnings or errors
24+
- [ ] I have added tests that prove my fix is effective or that my feature works
25+
- [ ] New and existing unit tests pass locally with my changes (`bun test`)
26+
- [ ] All CI checks pass (`bun run ci`)
27+
- [ ] I have updated the CHANGELOG.md (if applicable)
28+
29+
## Testing
30+
31+
<!-- Describe the tests you ran and how to reproduce them -->
32+
33+
```bash
34+
# Example commands used to test
35+
aipm init
36+
aipm marketplace add local ./test-marketplace
37+
```
38+
39+
## Related Issues
40+
41+
<!-- Link related issues here -->
42+
43+
Closes #
44+
Related to #
45+
46+
## Additional Context
47+
48+
<!-- Add any other context, screenshots, or information about the PR here -->

‎.github/workflows/ci.yml‎

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main, develop]
6+
pull_request:
7+
branches: [main, develop]
8+
9+
jobs:
10+
lint-and-test:
11+
name: Lint and Test
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Setup Bun
17+
uses: oven-sh/setup-bun@v2
18+
with:
19+
bun-version: latest
20+
21+
- name: Install dependencies
22+
run: bun install --frozen-lockfile
23+
24+
- name: Format check
25+
run: bun run format:check
26+
27+
- name: Lint check
28+
run: bun run lint:check
29+
30+
- name: Type check
31+
run: bun run typecheck
32+
33+
- name: Run tests with coverage
34+
run: bun run test:coverage
35+
36+
build:
37+
name: Build Executables
38+
runs-on: ${{ matrix.os }}
39+
strategy:
40+
matrix:
41+
include:
42+
- os: ubuntu-latest
43+
target: linux
44+
artifact: aipm-linux-x64
45+
- os: macos-latest
46+
target: darwin
47+
artifact: aipm-darwin-x64
48+
- os: macos-latest
49+
target: darwin-arm
50+
artifact: aipm-darwin-arm64
51+
- os: windows-latest
52+
target: windows
53+
artifact: aipm-windows-x64.exe
54+
55+
steps:
56+
- uses: actions/checkout@v4
57+
58+
- name: Setup Bun
59+
uses: oven-sh/setup-bun@v2
60+
with:
61+
bun-version: latest
62+
63+
- name: Install dependencies
64+
run: bun install --frozen-lockfile
65+
66+
- name: Build executable
67+
run: bun run build:${{ matrix.target }}
68+
69+
- name: Upload artifact
70+
uses: actions/upload-artifact@v4
71+
with:
72+
name: ${{ matrix.artifact }}
73+
path: dist/${{ matrix.artifact }}
74+
retention-days: 7
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
name: Release Please
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: write
10+
pull-requests: write
11+
12+
jobs:
13+
release-please:
14+
runs-on: ubuntu-latest
15+
outputs:
16+
release_created: ${{ steps.release.outputs.release_created }}
17+
tag_name: ${{ steps.release.outputs.tag_name }}
18+
steps:
19+
- uses: googleapis/release-please-action@v4
20+
id: release
21+
with:
22+
release-type: node
23+
package-name: '@trogonstack/aipm'
24+
changelog-types: '[{"type":"feat","section":"Features","hidden":false},{"type":"fix","section":"Bug Fixes","hidden":false},{"type":"docs","section":"Documentation","hidden":false},{"type":"chore","section":"Miscellaneous","hidden":true},{"type":"refactor","section":"Code Refactoring","hidden":false},{"type":"test","section":"Tests","hidden":true},{"type":"ci","section":"CI/CD","hidden":true}]'
25+
26+
build-and-publish:
27+
needs: release-please
28+
if: ${{ needs.release-please.outputs.release_created }}
29+
runs-on: ${{ matrix.os }}
30+
strategy:
31+
matrix:
32+
include:
33+
- os: ubuntu-latest
34+
target: linux
35+
artifact: aipm-linux-x64
36+
- os: macos-latest
37+
target: darwin
38+
artifact: aipm-darwin-x64
39+
- os: macos-latest
40+
target: darwin-arm
41+
artifact: aipm-darwin-arm64
42+
- os: windows-latest
43+
target: windows
44+
artifact: aipm-windows-x64.exe
45+
46+
steps:
47+
- uses: actions/checkout@v4
48+
49+
- name: Setup Bun
50+
uses: oven-sh/setup-bun@v2
51+
with:
52+
bun-version: latest
53+
54+
- name: Install dependencies
55+
run: bun install --frozen-lockfile
56+
57+
- name: Build executable
58+
run: bun run build:${{ matrix.target }}
59+
60+
- name: Create tarball (Unix)
61+
if: matrix.os != 'windows-latest'
62+
run: |
63+
cd dist
64+
tar -czf ${{ matrix.artifact }}.tar.gz ${{ matrix.artifact }}
65+
66+
- name: Create zip (Windows)
67+
if: matrix.os == 'windows-latest'
68+
run: |
69+
cd dist
70+
Compress-Archive -Path ${{ matrix.artifact }} -DestinationPath ${{ matrix.artifact }}.zip
71+
72+
- name: Upload to Release
73+
uses: softprops/action-gh-release@v1
74+
with:
75+
tag_name: ${{ needs.release-please.outputs.tag_name }}
76+
files: |
77+
dist/${{ matrix.artifact }}.tar.gz
78+
dist/${{ matrix.artifact }}.zip
79+
env:
80+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
81+
82+
npm-publish:
83+
needs: release-please
84+
if: ${{ needs.release-please.outputs.release_created }}
85+
runs-on: ubuntu-latest
86+
steps:
87+
- uses: actions/checkout@v4
88+
89+
- name: Setup Bun
90+
uses: oven-sh/setup-bun@v2
91+
with:
92+
bun-version: latest
93+
94+
- name: Install dependencies
95+
run: bun install --frozen-lockfile
96+
97+
- name: Run CI checks
98+
run: bun run ci
99+
100+
- name: Setup Node.js for npm
101+
uses: actions/setup-node@v4
102+
with:
103+
node-version: '20'
104+
registry-url: 'https://registry.npmjs.org'
105+
106+
- name: Publish to npm
107+
run: npm publish --access public
108+
env:
109+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

‎.gitignore‎

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# dependencies (bun install)
2+
node_modules
3+
4+
# output
5+
out
6+
dist
7+
*.tgz
8+
9+
# bun build artifacts
10+
*.bun-build
11+
12+
# code coverage
13+
coverage
14+
*.lcov
15+
16+
# logs
17+
logs
18+
_.log
19+
report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
20+
21+
# dotenv environment variable files
22+
.env
23+
.env.development.local
24+
.env.test.local
25+
.env.production.local
26+
.env.local
27+
28+
# caches
29+
.eslintcache
30+
.cache
31+
*.tsbuildinfo
32+
33+
# IntelliJ based IDEs
34+
.idea
35+
36+
# Finder (MacOS) folder config
37+
.DS_Store
38+
.cursor/plugins.local.json

0 commit comments

Comments
 (0)