{"id":28089253,"url":"https://github.com/rocketmakers/armstrong-edge","last_synced_at":"2025-05-13T12:55:36.931Z","repository":{"id":37090968,"uuid":"370636136","full_name":"Rocketmakers/armstrong-edge","owner":"Rocketmakers","description":"Armstrong rewrite 2021","archived":false,"fork":false,"pushed_at":"2025-03-27T09:20:39.000Z","size":81746,"stargazers_count":1,"open_issues_count":3,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-05-05T10:41:53.419Z","etag":null,"topics":["react","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rocketmakers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-05-25T09:25:31.000Z","updated_at":"2025-03-26T13:27:41.000Z","dependencies_parsed_at":"2024-03-11T11:55:07.835Z","dependency_job_id":"8b4c2bc3-7fbd-4a4b-b745-aa31f321c7ff","html_url":"https://github.com/Rocketmakers/armstrong-edge","commit_stats":{"total_commits":863,"total_committers":19,"mean_commits":"45.421052631578945","dds":0.6581691772885283,"last_synced_commit":"5490d256e390642603c1ba89cf7971b57c90b26e"},"previous_names":[],"tags_count":129,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rocketmakers%2Farmstrong-edge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rocketmakers%2Farmstrong-edge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rocketmakers%2Farmstrong-edge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rocketmakers%2Farmstrong-edge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rocketmakers","download_url":"https://codeload.github.com/Rocketmakers/armstrong-edge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253948333,"owners_count":21988953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["react","typescript"],"created_at":"2025-05-13T12:55:36.238Z","updated_at":"2025-05-13T12:55:36.910Z","avatar_url":"https://github.com/Rocketmakers.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![jest](https://jestjs.io/img/jest-badge.svg)](https://github.com/facebook/jest) [![storybook](https://raw.githubusercontent.com/storybooks/brand/master/badge/badge-storybook.svg)](https://github.com/storybookjs)\n\n![armstrong logo](https://raw.githubusercontent.com/Rocketmakers/armstrong-edge/main/docs/assets/armstrong-logo.svg)\n\nArmstrong is a React component library made by [Rocketmakers](rocketmakers.com/) written in Typescript and SCSS.\n\n[JIRA board](https://rocketmakers.atlassian.net/jira/software/projects/ARM/boards/154) (for internal use only)\n\n## Using Armstrong\n\nArmstrong is installed using `npm`.\n\n```bash\nnpm install @rocketmakers/armstrong\n# or\nyarn add @rocketmakers/armstrong\n```\n\nImport the Armstrong stylesheet at the root of your project with:\n```tsx\nimport '@rocketmakers/armstrong/css';\n```\n\nThen to use a component in your project\n\n```tsx\nimport { Button } from '@rocketmakers/armstrong';\n\nconst MyComponent: React.FC = () =\u003e {\n  return (\n    \u003cdiv\u003e\n      \u003cButton\u003eI'm a button\u003c/Button\u003e\n    \u003c/div\u003e\n  );\n};\n```\n\nSee [Storybook](https://rocketmakers.github.io/armstrong-edge/) for a list of all available components\n\nFor details on using Armstrong forms, see [Forms](https://rocketmakers.github.io/armstrong-edge/?path=/docs/form-form-hooks--docs)\n\n### Issues / bug reports\n\nIf you're internal to Rocketmakers, post in the `#armstrong` channel and raise an issue [here](https://github.com/Rocketmakers/armstrong-edge/issues)\n\nOtherwise, raise an issue in Github and follow the issue template\n\n## Working on Armstrong\n\n### Development\n\nFirst cd into the root of the repo and run\n\n```sh\nnpm run setup\n```\n\nWe have a Storybook implementation which will pick up any files with the pattern `*.stories.tsx` or `*.stories.mdx`\n\n_For Storybook_, run\n\n```sh\nnpm run storybook\n```\n\nthen go to `localhost:6006`\n\n### Linting\n\nArmstrong uses eslint, style-lint, and prettier for linting.\n\nPackages for these are managed as dev dependencies in NPM, and configuration files can be found in `module/`\n\nWe recommend using the vscode plugins `stylelint`, `eslint`, and `prettier` to make errors show in vscode, and to allow auto fixing functionality.\n\n### Testing\n\nArmstrong uses [Jest](https://jestjs.io/docs/using-matchers) for unit testing, [@testing-library/react-hooks](https://github.com/testing-library/react-hooks-testing-library) for hook testing, and [Storybook](https://github.com/storybookjs) for component testing.\n\nPackages for these are managed as dev dependencies in NPM, and configuration files can be found in `module/` and in `module/.jest` and `module/.storybook` respectively.\n\nTests can be run using `npm test` for all tests, or `npm test-jest` and `npm test-storybook` respectively.\n\nWe recommend using the vscode plugins `jest`, `jest-runner`, and `storybook helper` to manage test runs.\n\n### Process\n\nPlease work in feature branches named `feature/*` branched from `main`\n\nWhen your work is ready, submit a pull request into `main` and (if you're internal to Rocketmakers) post a link to your pull request in the `#armstrong-dev` slack channel for someone to review.\n\nGithub will run an Action to test linting and to see if Storybook builds before your branch can be merged.\n\nEnsure [Commitizen](https://github.com/commitizen/cz-cli) is installed for templating your commit messages.\n\n### Release process\n\nWhen your feature branch has passed code review and been merged, a release will be triggered automatically.\n\nArmstrong uses [Semantic release](https://semantic-release.gitbook.io/semantic-release/) for automatic versioning and publishing based on Commitizen formatted messages from main.\n\nThe type of release will be worked out from all of the commit messages in your merge. So the highest of the following will dictate the version\n\n```\nfix: will be a patch 0.0.X\nfeat: will be minor 0.X.0\nbreaking: will be major X.0.0\nchore: won't trigger a release\n```\n\nSo basically, do your work on a branch `feature/*`, make sure all of your commit messages go through Commitizen, and when you're happy open a PR onto main.\n\nWhen it gets approved and merged in, the release type will automatically be worked out based on the highest (breaking \u003e feat \u003e fix) of all the commits that are part of that merge and a tag and version will be published to npm automatically.\n\nThis release happens in a Github Action labelled release. [Logs can be found here](https://github.com/Rocketmakers/armstrong-edge/actions/workflows/release.yml)\n\nOnce a release is complete, please post a cursory message in the `#armstrong` Slack channel with a list of changes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocketmakers%2Farmstrong-edge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frocketmakers%2Farmstrong-edge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocketmakers%2Farmstrong-edge/lists"}