Skip to content

Commit 11f67e5

Browse files
committed
chore(workspace): implement comprehensive license policy enforcement and attribution generation
- Add license-checker-rseidelsohn for professional license analysis - Create configurable license policy with allowed, prohibited, and review-required licenses - Add automated license policy enforcement in pre-commit hooks - Add comprehensive license analysis and reporting scripts - Update documentation with license policy and procedures - Add conventional commit guidelines to copilot instructions - Enhance pre-commit hooks to check license compliance before attribution generation
1 parent 62ae623 commit 11f67e5

11 files changed

Lines changed: 1689 additions & 51 deletions

.github/copilot-instructions.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,73 @@ nx codegen sdk # Generate OpenAPI client for SDK
6666
- **Testing patterns**: `docs/TESTING_CONVENTION.md`
6767
- **Coverage requirement**: 85% threshold for both packages
6868
- **Test isolation**: Automatic mock cleanup between tests
69+
70+
### Package Installation Policy
71+
72+
Before installing any npm packages, always research and include information about:
73+
74+
- **Maintenance state**: When was it last updated, frequency of releases
75+
- **Community health**: Open issues count, response time to issues, number of contributors
76+
- **License compatibility**: Verify license is compatible with our open source policy
77+
- **Security**: Check for known vulnerabilities or security advisories
78+
- **Alternatives**: Consider if there are better-maintained or more suitable alternatives
79+
80+
## Commit Message Standards
81+
82+
### Conventional Commits Format
83+
84+
Use the [Conventional Commits](https://www.conventionalcommits.org/) specification:
85+
86+
```
87+
<type>[optional scope]: <description>
88+
89+
[optional body]
90+
91+
[optional footer(s)]
92+
```
93+
94+
### Commit Types
95+
96+
- **feat**: New feature for SDK or CLI users (user-facing functionality)
97+
- **fix**: Bug fix for SDK or CLI users
98+
- **chore**: Maintenance, tooling, dependencies, build processes
99+
- **docs**: Documentation changes
100+
- **style**: Code style changes (formatting, missing semicolons, etc.)
101+
- **refactor**: Code changes that neither fix bugs nor add features
102+
- **test**: Adding or modifying tests
103+
- **ci**: CI/CD pipeline changes
104+
105+
### Scoping Rules
106+
107+
- **Single package changes**: Use package name as scope (`sdk`, `cli`)
108+
- **Monorepo tooling**: Use `workspace`, `build`, `deps`, or omit scope
109+
- **Documentation**: Use `docs` or specific area like `api-docs`
110+
111+
### Examples
112+
113+
```bash
114+
# User-facing features (only for SDK/CLI functionality)
115+
feat(sdk): add support for batch processing
116+
feat(cli): implement new auth command
117+
118+
# Everything else is typically chore
119+
chore(deps): update dependencies to latest versions
120+
chore(workspace): add license checking and attribution generation
121+
chore(build): update tsconfig for better performance
122+
chore: setup automated testing pipeline
123+
124+
# Bug fixes for users
125+
fix(sdk): resolve authentication timeout issue
126+
fix(cli): handle missing config file gracefully
127+
128+
# Documentation
129+
docs(sdk): update API reference for new endpoints
130+
docs: add contributing guidelines
131+
```
132+
133+
### Important Notes
134+
135+
- **feat** is reserved for new user-facing functionality in SDK or CLI packages
136+
- Most tooling, build, and maintenance work should use **chore**
137+
- Always include scope when changes affect a single package
138+
- Keep descriptions concise and in present tense

0 commit comments

Comments
 (0)