Skip to content

Commit bd0f431

Browse files
committed
feat: initial Dacely CLI
An Ink + React (class-component) terminal UI for the Dacely edge cloud: a full-screen home with the Dacely mark, a centered prompt box, and slash commands (/help, /login, ...), plus direct mode (dacely <command> / --flag). Object-oriented core (src/types, src/classes, src/components), placeholder commands, strict TypeScript + ESLint + Prettier, and a vitest suite. Licensed under BUSL-1.1, converting to Apache-2.0 on the Change Date (2030-07-10).
0 parents  commit bd0f431

76 files changed

Lines changed: 8664 additions & 0 deletions

Some content is hidden

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

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Auto detect text files and perform LF normalization
2+
* text=auto
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Bug Report
2+
description: Report a bug in the Dacely CLI
3+
title: "[Bug]: "
4+
labels: ["bug", "triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to report a bug.
10+
11+
**Security Notice**: If this is a security vulnerability, DO NOT create a public issue. Report it privately via [GitHub Security Advisories](https://github.com/dacely-cloud/dacely/security/advisories/new).
12+
13+
- type: textarea
14+
id: description
15+
attributes:
16+
label: Bug Description
17+
description: A clear and concise description of the bug.
18+
placeholder: Describe the bug...
19+
validations:
20+
required: true
21+
22+
- type: textarea
23+
id: reproduction
24+
attributes:
25+
label: Steps to Reproduce
26+
description: Steps to reproduce the behavior.
27+
placeholder: |
28+
1. ...
29+
2. ...
30+
3. ...
31+
validations:
32+
required: true
33+
34+
- type: textarea
35+
id: expected
36+
attributes:
37+
label: Expected Behavior
38+
description: What did you expect to happen?
39+
validations:
40+
required: true
41+
42+
- type: textarea
43+
id: actual
44+
attributes:
45+
label: Actual Behavior
46+
description: What actually happened?
47+
validations:
48+
required: true
49+
50+
- type: input
51+
id: version
52+
attributes:
53+
label: Dacely CLI Version
54+
description: What version of the Dacely CLI are you using?
55+
placeholder: "0.0.1"
56+
validations:
57+
required: true
58+
59+
- type: input
60+
id: node-version
61+
attributes:
62+
label: Node.js Version
63+
description: What version of Node.js are you using?
64+
placeholder: "24.0.0"
65+
validations:
66+
required: true
67+
68+
- type: textarea
69+
id: logs
70+
attributes:
71+
label: Relevant Logs
72+
description: Please copy and paste any relevant log output.
73+
render: shell
74+
75+
- type: checkboxes
76+
id: terms
77+
attributes:
78+
label: Checklist
79+
options:
80+
- label: I have searched existing issues to ensure this bug hasn't been reported
81+
required: true
82+
- label: This is NOT a security vulnerability (those should be reported privately)
83+
required: true

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Security Vulnerability
4+
url: https://github.com/dacely-cloud/dacely/security/advisories/new
5+
about: Report a security vulnerability privately. DO NOT create a public issue for security vulnerabilities.
6+
- name: Dacely
7+
url: https://dacely.com/
8+
about: Visit Dacely for documentation and support.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for this project
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
## Description
2+
<!-- Brief description of the changes in this PR -->
3+
4+
## Type of Change
5+
<!-- Mark the relevant option with an "x" -->
6+
7+
- [ ] Bug fix (non-breaking change that fixes an issue)
8+
- [ ] New feature (non-breaking change that adds functionality)
9+
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
10+
- [ ] Performance improvement
11+
- [ ] Refactoring (no functional changes)
12+
- [ ] Documentation update
13+
- [ ] CI/CD changes
14+
- [ ] Dependencies update
15+
16+
## Checklist
17+
18+
### Build & Tests
19+
- [ ] `npm install` completes without errors
20+
- [ ] `npm run lint` passes
21+
- [ ] `npm run typecheck` passes
22+
- [ ] `npm test` passes all tests
23+
24+
### Code Quality
25+
- [ ] Code follows the project's coding standards
26+
- [ ] No new compiler warnings introduced
27+
- [ ] Error handling is appropriate
28+
29+
### Documentation
30+
- [ ] Code comments added for complex logic
31+
- [ ] Public APIs are documented
32+
- [ ] README updated (if applicable)
33+
34+
### Security
35+
- [ ] No sensitive data (keys, credentials) committed
36+
- [ ] No new security vulnerabilities introduced
37+
38+
## Testing
39+
<!-- Describe how you tested these changes -->
40+
41+
## Related Issues
42+
<!-- Link any related issues: Fixes #123, Relates to #456 -->
43+
44+
---
45+
By submitting this PR, I confirm that my contribution is made under the terms of the project's license.

.github/changelog-config.json

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
{
2+
"categories": [
3+
{
4+
"title": "### Breaking Changes",
5+
"labels": ["breaking", "breaking-change", "BREAKING-CHANGE"]
6+
},
7+
{
8+
"title": "### Features",
9+
"labels": ["feature", "feat", "enhancement"]
10+
},
11+
{
12+
"title": "### Bug Fixes",
13+
"labels": ["bug", "fix", "bugfix"]
14+
},
15+
{
16+
"title": "### Performance",
17+
"labels": ["performance", "perf"]
18+
},
19+
{
20+
"title": "### Documentation",
21+
"labels": ["documentation", "docs"]
22+
},
23+
{
24+
"title": "### Dependencies",
25+
"labels": ["dependencies", "deps"]
26+
},
27+
{
28+
"title": "### Other Changes",
29+
"labels": []
30+
}
31+
],
32+
"sort": {
33+
"order": "ASC",
34+
"on_property": "mergedAt"
35+
},
36+
"template": "#{{CHANGELOG}}",
37+
"pr_template": "- #{{TITLE}} (#{{NUMBER}}) by @#{{AUTHOR}}",
38+
"empty_template": "- No changes",
39+
"max_tags_to_fetch": 200,
40+
"max_pull_requests": 200,
41+
"max_back_track_time_days": 365,
42+
"tag_resolver": {
43+
"method": "semver"
44+
}
45+
}

.github/dependabot.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
version: 2
2+
3+
updates:
4+
- package-ecosystem: 'npm'
5+
directory: '/'
6+
schedule:
7+
interval: 'daily'
8+
time: '06:00'
9+
timezone: 'America/Toronto'
10+
open-pull-requests-limit: 10
11+
rebase-strategy: 'auto'
12+
13+
groups:
14+
production-deps:
15+
dependency-type: 'production'
16+
update-types: ['minor', 'patch']
17+
dev-deps:
18+
dependency-type: 'development'
19+
update-types: ['minor', 'patch']
20+
21+
commit-message:
22+
prefix: '⬆️'
23+
include: scope
24+
25+
labels:
26+
- 'dependencies'
27+
- 'npm'

0 commit comments

Comments
 (0)