Skip to content

Commit

Permalink
feat(core): initial release πŸš€
Browse files Browse the repository at this point in the history
BREAKING CHANGE: first stable release of NovaPass v1.0.0

Features:

- Password generation with customizable options

- Passphrase generation with word style settings

- Secure local password history

- Dark mode support

- Multi-language support (18 languages)

- Context menu integration

- Local-only operation for enhanced privacy
  • Loading branch information
ruslanpashkov committed Nov 19, 2024
0 parents commit 354e708
Show file tree
Hide file tree
Showing 136 changed files with 26,735 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
root = true

[*]
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
end_of_line = lf
65 changes: 65 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Bug Report
description: Create a report to help improve NovaPass
title: "[BUG] "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: textarea
id: description
attributes:
label: Bug Description
description: A clear and concise description of what the bug is
validations:
required: true
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: How can we reproduce this issue?
placeholder: |
1. Go to '...'
2. Click on '....'
3. See error
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected Behavior
description: What did you expect to happen?
validations:
required: true
- type: textarea
id: actual
attributes:
label: Actual Behavior
description: What actually happened?
validations:
required: true
- type: dropdown
id: browsers
attributes:
label: Browser
multiple: true
options:
- Chrome
- Firefox
- Edge
validations:
required: true
- type: input
id: version
attributes:
label: NovaPass Version
description: What version of NovaPass are you running?
placeholder: "1.2.0"
validations:
required: true
- type: textarea
id: logs
attributes:
label: Additional Context
description: Add any other context about the problem here
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# yaml-language-server: $schema=https://json.schemastore.org/github-issue-config.json

blank_issues_enabled: false
contact_links:
- name: GitHub Discussions
url: https://github.com/ruslanpashkov/novapass/discussions
about: Please ask and answer questions here
33 changes: 33 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Feature Request
description: Suggest an idea for NovaPass
title: "[FEATURE] "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to suggest a new feature!
- type: textarea
id: problem
attributes:
label: Problem
description: Is your feature request related to a problem? Please describe.
validations:
required: true
- type: textarea
id: solution
attributes:
label: Proposed Solution
description: Describe the solution you'd like
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Alternatives Considered
description: Have you considered any alternative solutions or workarounds?
- type: textarea
id: context
attributes:
label: Additional Context
description: Add any other context or screenshots about the feature request here
29 changes: 29 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
## Description

<!-- Describe your changes -->

## Type of Change

<!-- Mark with x inside brackets [x] -->

- [ ] New feature
- [ ] Bug fix
- [ ] Documentation update
- [ ] Performance improvement
- [ ] Code refactoring
- [ ] Tests

## Testing

<!-- How can reviewers test your changes? -->

## Checklist

- [ ] Tests added/updated
- [ ] Documentation updated
- [ ] Follows coding style guidelines
- [ ] Commits follow conventional style

## Additional Notes

<!-- Any other context about the PR -->
26 changes: 26 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
.output
stats.html
stats-*.json
.wxt
web-ext.config.ts

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
7 changes: 7 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"recommendations": [
"EditorConfig.EditorConfig",
"esbenp.prettier-vscode",
"dbaeumer.vscode-eslint"
]
}
35 changes: 35 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Code of Conduct

## Our Pledge

We as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members

Examples of unacceptable behavior include:

- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at hi@ruslanpashkov.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4.
36 changes: 36 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Contributing to NovaPass

Thank you for your interest in contributing to NovaPass!

## Development Setup

1. Fork and clone the repository
2. Install dependencies: `npm install`
3. Start development server: `npm run dev`
4. Create production build: `npm run build`

## Code Style

- Use TypeScript
- Follow existing code formatting
- Add comments to explain complex logic
- Write meaningful commit messages

## Pull Request Process

1. Update documentation if needed
2. Add tests for new features
3. Ensure all tests pass
4. Update the README.md with details of changes if needed
5. The PR will be merged once it has been reviewed and approved by a maintainer

## Issue Guidelines

- Search existing issues before creating a new one
- Use issue templates when available
- Provide clear steps to reproduce bugs
- Include relevant information about your environment

## Need Help?

Feel free to reach out at hi@ruslanpashkov.com if you have any questions.
7 changes: 7 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Copyright (c) 2024 Ruslan Pashkov

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 changes: 27 additions & 0 deletions PRIVACY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Privacy Policy

NovaPass is designed with privacy in mind. We believe in transparency about how we handle your data.

## Data Collection

NovaPass does not:

- Collect personal information
- Track user behavior
- Store passwords on remote servers
- Share data with third parties
- Use analytics or tracking tools

## Local Storage

- Password history is stored locally on your device
- Generated passwords never leave your browser
- Settings are saved locally using browser storage
- All local data can be cleared at any time

## Permissions

NovaPass only requests browser permissions necessary for:

- Copying generated passwords to the clipboard
- Storing settings and history locally
81 changes: 81 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# NovaPass: Password Generator πŸ”

[![Chrome Web Store](https://img.shields.io/badge/Chrome-Available-green)](https://chrome.google.com/webstore/detail/jpooemhlkehmepkbcbjflhpnjgilellm)
[![Edge Add-ons](https://img.shields.io/badge/Edge-Coming%20Soon-yellow)]()
[![Firefox Add-ons](https://img.shields.io/badge/Firefox-Coming%20Soon-yellow)]()

Transform your password management experience with NovaPass – a powerful cross-browser extension that combines security with simplicity. Generate strong, customizable passwords right from your browser toolbar.

![NovaPass Interface](assets/novapass.png)

## Key Features

### Password Generator

- Comprehensive character sets (A-Z, a-z, 0-9, symbols)
- Customizable password length
- Option to skip ambiguous characters
- Exclude specific characters

### Passphrase Generator

- Customizable number of words
- Flexible word separator options
- Word style options: uppercase, lowercase, capitalize
- Optional random number insertion

### Smart History Management

- Local password history tracking
- Quick copy functionality
- Clear history with one click
- Secure storage implementation

### Additional Features

- **Dark mode support**: Automatically syncs with your system preferences

- **Multiple languages support**: English, Arabic, Chinese, French, German, Hindi, Indonesian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Thai, Turkish, Ukrainian and Vietnamese

## Installation

NovaPass is available on multiple platforms:

- [Chrome Web Store](https://chrome.google.com/webstore/detail/jpooemhlkehmepkbcbjflhpnjgilellm)
- Firefox Add-ons (Coming Soon)
- Edge Add-ons (Coming Soon)

## Contributing

[![Issues](https://img.shields.io/github/issues/ruslanpashkov/novapass.svg)](https://github.com/ruslanpashkov/novapass/issues)
[![Pull Requests](https://img.shields.io/github/issues-pr/ruslanpashkov/novapass.svg)](https://github.com/ruslanpashkov/novapass/pulls)
[![Last Commit](https://img.shields.io/github/last-commit/ruslanpashkov/novapass)](https://github.com/ruslanpashkov/novapass/commit/HEAD)

We welcome contributions to make NovaPass better! Whether you've found a bug, have a feature idea, or want to improve the code - your help is appreciated.

Check our [contribution guidelines](CONTRIBUTING.md) to get started. You can [report bugs](https://github.com/ruslanpashkov/novapass/issues/new?template=bug_report.md), [suggest features](https://github.com/ruslanpashkov/novapass/issues/new?template=feature_request.md), or contribute code by opening [issues](https://github.com/ruslanpashkov/novapass/issues) and [pull requests](https://github.com/ruslanpashkov/novapass/pulls) in our [GitHub repository](https://github.com/ruslanpashkov/novapass). Our [code of conduct](CODE_OF_CONDUCT.md) helps maintain a welcoming environment for everyone.

For code contributions, fork the repository, create a new branch for your work, and submit a pull request. Remember to include tests and update documentation when needed.

## Credits

- [zxcvbn-ts](https://github.com/zxcvbn-ts/zxcvbn) – Low-Budget Password Strength Estimation
- [WXT](https://wxt.dev) – Next-gen Web Extension Framework

## License

This project is open-sourced under the [MIT License](LICENSE).

## Connect

Created by [Ruslan Pashkov](https://github.com/ruslanpashkov)

Have questions or suggestions? We'd love to hear from you!

πŸ“§ hi@ruslanpashkov.com

---

<div align="center">
If you find NovaPass useful, please consider giving it a ⭐️ on GitHub!
</div>
17 changes: 17 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Security Policy

## Reporting a Vulnerability

If you discover a security vulnerability in NovaPass, please report it by emailing hi@ruslanpashkov.com. Please do not create public GitHub issues for security vulnerabilities.

## Security Features

- All password generation is performed locally in your browser
- No passwords are stored on remote servers
- No data is transmitted outside your device
- All stored data is encrypted using browser's built-in storage encryption
- Regular security updates and dependency maintenance

## Version Support

We provide security updates for the latest version of NovaPass. Please ensure you're using the most recent version.
Binary file added assets/novapass.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 354e708

Please sign in to comment.